Új hozzászólás Aktív témák

  • Taci

    addikt

    Sziasztok!

    Nem igazán tudom, miért, de néha kb. 2 mp-el megnő az egyes aloldalak/menüpontok (JS-sel generált tartalom) betöltése.

    Nem tudom megfogni, hogy pontosan mikor, mert sosem ugyanott, sosem ugyanakkor - de nagyon szeretném kideríteni az okát.
    Először arra gondoltam, az SQL query-m lassú, és amiatt tölt be lassabban néha az egy-egy eredmény.
    De megcsináltam egy dev aloldalt hozzá, ahol máshogy (optimalizáltabban) rakom össze a lekérdezést ugyanabból az adatabázisból, egymás mellé raktam a két oldalt (sima és dev), és ugyanazokat ugyanúgy töltöttem be, és ahol lassú volt az első, lassú volt a második is. Szóval nem a query a baja.

    Mivel produktív oldal, a logolást leszedtem, de most a deven a megfelelő helyeken visszakapcsoltam, és meglepő eredményt találtam (a logok így jönnek a konzolban sorrendben):

    (1) 16:06:49.994 showJS.js?v=1.0.4:176 Script (showJS) started.
    (2) 16:06:49.995 showJS.js?v=1.0.4:424 Calling first axios
    (7) 16:06:49.997 showJS.js?v=1.0.4:733 Script (showJS) finished.
    (3) 16:06:51.465 showJS.js?v=1.0.4:429 titleHTML (axios.get)
    (4) 16:06:51.494 showJS.js?v=1.0.4:551 itemHTML (axios.get)
    (5) 16:06:51.604 showJS.js?v=1.0.4:557 frontend.php (axios.get)
    (6) 16:06:51.606 showJS.js?v=1.0.4:640 Displaying results.

    Az elején a számok (pl. (1)) azt jelzik, milyen sorrendben következnek a console.log-ok a szkirptben.
    Aztán az időbélyegző. Itt akadt meg a szemem azon, hogy két közvetlen egymás alatt lévő lépés között 2 mp időkülönbség van:
    (2) 16:06:49.995 showJS.js?v=1.0.4:424 Calling first axios
    (3) 16:06:51.465 showJS.js?v=1.0.4:429 titleHTML (axios.get)

    Tehát a 424. sorban logoltatom, hogy most jön az első axios.get,
    a 426. sorban ez lefut,
    a 429.-ben pedig kiíratom a visszakapott választ: console.log("titleHTML (axios.get): " + response);

    Na ennek a műveletnek néha 2 mp-re van szüksége, holott egy 1kB-os fájlról van szó...
    Néha gondolkodás nélkül behúzza, máskor meg ott pörög a kis loader 2 mp-ig, mire végre hajlandó csinálni. Nem kell csinálnia a fájllal semmit, csak a benne lévő kemény 4-5 sornyi HTML-kódot visszaadni.
    Az a fura még, hogy utána hív ugyanígy egy másik html fájlt pont mellőle (4. lépés), aztán meg szerver oldalon végez több bonyolult műveletet is (köztük az SQL-lekérdezést és annak kiértékelését is), és annak az eredményét adja vissza (szintén axios a közvetítő közeg) az 5. lépésben, és ennek a kettőnek együtt is bőven elég pár század mp.

    A szerver gyors, ez látszik az SQL-es részből is, SSD-n is van, szóval azt kizárnám.
    Esetleg az axios-szal lenne a baj? De ha igen, mi?

    Az első axios:
    axios.get("../location/title.html")

    A második:
    axios.get("../location/item.html")

    A harmadik:
    axios.get("../location/frontend.php?a=...&b=...)

    Van tippetek, mi lehet itt a bibi?
    Persze átrakhatnám JS-be a HTML tartalmát, de azért az nem oké, hogy egy 1kB-os fájl akassza meg a rendszert. Plusz lehet, az axios-szal van a baj (vagy bármi mással), és akkor a következő fájlnál lassulna be.

    Hátha ti láttok ebben valami javítható dolgot, mert nekem nem áll össze, mi ez a 2mp-es delay.

    Köszi!

Új hozzászólás Aktív témák

Hirdetés