Cum mă floodam singur și nu-mi dădeam seama

De foarte mult timp am o problemă: site-urile la care lucrez devin lente în anumite momente (pe local). Părea o chestie extrem de haotică, nu se întâmpla atât de des, deci nu am acordat atenție prea mare. De obicei rezolvam cu un restart al serviciului PHP.

Azi am decis să caut problema: aveam de făcut ceva modificări CSS și JS și totul mergea greu. ATÂT de greu…

Mi-am suflecat frumușel mânecile, pornesc profiler și aștept, în speranța că găsesc ceva, orice, de care să mă agăț. Și se întâmplă ceva ciudat: nu găsesc nimic lent per se…

Darrrr… în timp ce făceam făceam ceva profiling, observ o chestie interesantă: când fac reload la pagină se generează nu un profil ci câteva zeci.

Mă uit în tab-ul network din chrome devtools: nimic dubios.

Tocmai auzeam popa cum bate la ușă cu cerșeala colindul de Paște. În mintea mea eram: popo, stinge-ți-s-ar cădelnița să ți se stingă! M-ai blestemat că nu ți-am deschis la nicio bobotează, este?

Dau un restart la browser, că deja mă enerva butonul galben de update, pornesc iar profilerul: se generează un singur fișier acum. Iar site-ul merge ok.

Bă, ce naiba??

Ok, fie, mă apuc de treabă. Deschid dev tools, inspectez, modific CSS, salvez în editor.

Dau un refresh, site-ul lent.

CE NAIBA???

Deschid consola de la dev tools: plin de warnings de la source maps. Ochiometric, băteau spre sută.

Eh, n-are treabă asta. Am ignorat situația, am continuat să caut probleme. Până la urmă erau js/css de la plugins, știam că nu au sourcemaps, no biggie.

Mai un profiler, mai un breakpoint. Parcă aici se simte lent. Parcă dincolo. Parcă una. Parcă alta.

Și apoi m-a lovit: răspunsul ăla de 404 vine de la server. Și încerc să deschid link-ul unui sourcemap în browser.

Și văd pagina 404.

De la WordPress.

Brusc, totul a avut sens: problema apărea doar când aveam devtools deschis în browser, deoarece
pentru fiecare sourcemap negăsit se încărca un WP nou. Și genera câte un profil nou pentru fiecare request.

FML.

Pus reguli noi în nginx, acum zbârnâie.

location /wp-content/plugins/ {
        try_files $uri 404;
}

location /wp-content/themes/ {
        try_files $uri 404;
}
14 Likes