# Η αγωνία των δοκιμών φορτίου - το κεφάλι μου πονάει (αν και οι δύο μπορεί να μην σχετίζονται)

<datetime class="hidden">2004-02-20T00:00</datetime>

<!-- category -- mostlylucidcouk, Imported, Database, Performance, Testing -->
Οι Deadlocks... Μισώ τους μικρούς γαμιόληδες!
Απλά ξόδεψα την ημέρα προσπαθώντας να διορθώσω ένα "θέμα" με ένα site που ανέπτυξα για έναν πελάτη. Αυτό είναι λίγο ενοχλητικό καθώς είναι ένα "θεωρητικό" ζήτημα. Ουσιαστικά, ο πελάτης έχει επιλέξει να κάνει κάτι που δεν κάνω ποτέ κανονικά, φορτώστε τις σελίδες επεξεργασίας του site.
Δυστυχώς, αυτό το site έχει ένα παράξενο σύστημα επεξεργασίας - χρησιμοποιεί την έννοια του "κοινό" πίνακες για να κρατήσει όλα τα αντικείμενα ανεξάρτητα από το είδος του αντικειμένου που είναι (έτσι κρατά όλες τις κοινές ιδιότητες, με τις διακριτές ιδιότητες που διατηρούνται σε διαφορετικούς πίνακες). Αυτός ο σχεδιασμός μου δίνει μια ολόκληρη ευελιξία - και μου επιτρέπει να χρησιμοποιήσω ένα σωρό από κοινού ελέγχους για να αντιπροσωπεύουν τα αντικείμενα στην οθόνη, για την ασφάλεια κλπ...
Ωστόσο, έχει ένα μεγάλο μειονέκτημα - να επεξεργαστείτε στην πραγματικότητα ορισμένα στοιχεία σημαίνει να κάνετε πολλαπλές ενημερώσεις στο ίδιο τραπέζι σε μία περίπτωση χρήσης - έχει επίσης ένα ζευγάρι δεικτών απόψεις στο ίδιο τραπέζι. Αυτό με οδήγησε στο όπου βρίσκομαι αυτή τη στιγμή, αν τρέχει περισσότερο από ό, τι λένε 10 ταυτόχρονη χρήστες (έτσι, δημιουργώντας 10 νέα στοιχεία ακριβώς την ίδια στιγμή, στη συνέχεια, προσπαθεί να τραβήξει τα ίδια δεδομένα από την DB) Παίρνω αυτό μετά από περίπου 200 ή έτσι επαναλήψεις:

Η συναλλαγή (Process ID 74) ήταν σε αδιέξοδο με τους πόρους κλειδώματος με μια άλλη διαδικασία και έχει επιλεγεί ως το θύμα αδιέξοδο.

Δουλεύω πάνω σε αυτό όλη μέρα, αισιόδοξα ερωτήματα, δημιουργώντας νέα ευρετήρια, σκοτώνοντας σκανδάλους, αποθηκεύοντας δεδομένα στη σελίδα, η παρτίδα... ως αποτέλεσμα έχω ένα σάπιο πονοκέφαλο και βασικά έχω χάσει κάθε αντικειμενικότητα - δεν έχω ιδέα αν έχω πραγματικά βελτιώσει τα πράγματα ή όχι!

Επίσης δεν βοηθάει που δεν ξέρω τον αριθμό στόχου των χρηστών που προσπαθώ να βελτιστοποιήσω!
Παρεμπιπτόντως, έχω υπολογίσει ότι με βάση τα κοινά πρότυπα χρήσης, 10 ταυτόχρονη επεξεργασία θα ήταν περίπου ίσο με ~1000 ταυτόχρονα χρήστες "view" ή περίπου 144000 επισκέπτες την ημέρα ... umm..ναι, αυτό είναι πιθανώς 100+ φορές περισσότερο από αυτό το site παίρνει στην κορυφή...

Θα έπρεπε να πω, αν κάποιος έχει προβλήματα με την ιστοσελίδα σήμερα, αυτό είναι για να κατηγορήσω - έχω γεμίσει δοκιμές σαν ένα τρελό πράγμα και ο φτωχός σέρβερ μου αισθάνεται τον πόνο...