# Kuormitustestin tuska - päätäni särkee (vaikka nämä kaksi eivät ehkä liity toisiinsa)

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

<!-- category -- mostlylucidcouk, Imported, Database, Performance, Testing -->
Deadlockit...Vihaan pikku äpäriä!
Vietin vain päivän yrittäen korjata "ongelmaa" sivustolla, jonka kehitin asiakkaalle. Tämä on hieman ärsyttävää, koska se on "teoreettinen" ongelma. Pohjimmiltaan asiakas on päättänyt tehdä jotain, mitä en koskaan normaalisti tee, lataa sivuston muokkaussivut.
Valitettavasti tällä sivustolla on outo editointijärjestelmä - se käyttää "yhteisten" taulukoiden käsitettä pitääkseen yllä kaikkia kohteita riippumatta siitä, minkä tyyppisiä ne ovat (joten se pitää sisällään kaikki yhteiset ominaisuudet, ja erilliset ominaisuudet ovat eri taulukoissa). Tämä malli antaa minulle paljon joustavuutta - ja antaa minun käyttää joukkoa yhteisiä hallintalaitteita edustamaan esillä olevia esineitä, turvallisuutta jne....
Sillä on kuitenkin suuri haittapuoli - joidenkin kohteiden muokkaaminen itse asiassa tarkoittaa useiden päivitysten tekemistä samaan taulukkoon yhdellä käyttökerralla - sillä on myös pari indeksoitua näkemystä samalla pöydällä. Tämä on johtanut siihen, missä olen tällä hetkellä, jos ajamme enemmän kuin 10 rinnakkaista käyttäjää (joten luomme 10 uutta kohdetta täsmälleen samaan aikaan, sitten yritämme vetää samat tiedot pois DB:stä) saan tämän noin 200 toiston jälkeen:

Transaktio (Process ID 74) joutui umpikujaan lukitusresursseissa toisella prosessilla, ja se on valittu umpikujan uhriksi.

Olen työstänyt tätä koko päivän, optimoinut kyselyitä, luonut uusia indeksejä, tappanut laukaisijoita, pitänyt sisällään tietoja sivusta ja paljon... seurauksena minulla on mätä päänsärky ja olen käytännössä menettänyt kaiken objektiivisuuden - en tiedä, olenko todella parantanut asioita!

Ei myöskään auta, etten itse asiassa tiedä, mihin käyttäjämäärään pyrin optimoimaan!
Olen muuten laskenut, että yhteisten käyttötapojen perusteella 10 samanaikaista muokkausta vastaisi suunnilleen ~1000 samanaikaista 'katselua' käyttävää käyttäjää tai noin 144000 kävijää päivässä...am.kyllä, se on luultavasti 100+ kertaa enemmän kuin tämä sivusto saavuttaa huipussaan...

Jos jollakulla on ollut ongelmia sivuston kanssa tänään, tämä on syy - olen ladannut testejä kuin hullu ja serverini tuntee kipua...