Mi okozhatja azt, hogy iszonyatosan lassúak a Drupal oldalak?
A szerver nem okozhatja. Két izmos IBM rack van a site alatt, dedikált (saját) szerverek, gigabites kapcsolattal.
Az a pár Drupal-on kívüli PHP oldal, ami van, mind normális sebességű.
Devel modul szerint egy főoldal is:
Executed 106 queries in 298.65 milliseconds. Queries taking longer than 5 ms and queries executed more than once, are highlighted. Page execution time was 414.42 ms.
Legtöbb időt a cache, a variable_set, a locale és a sess_write visz el, pedig a cache elvileg ki van kapcsolva, locale viszont mindenképpen szükséges, mert 10 nyelvű a site.
Amit még nem értek, miért visz el ennyi időt az a következő:
17.462_locale_rebuild_js UPDATE languages SET javascript = '' WHERE language = 'hu'
Valaki pls. adjon támpontot, hogy mit tudok vele csinálni, mert szerdától élesben kell mennie a site-nak és ilyen csiga lassúsággal nem lesz jó.
Erre való a cache
Az Oldal gyorstár (cache) beállítások oldal tetejéről: "A gyorstár bekapcsolása jelentős teljesítmény javulást eredményezhet. A Drupal képes az anonim felhasználók (látogatók) által kért webcímeket illető tömörített gyorstárazott oldalak tárolására és küldésére. A gyorstárazás használatával a Drupal-nak nem kell minden oldallekérésnél előállítania a weblapot."
Érdemes tehát bekapcsolni.
Üdv, Dávid
néhány észrevétel
Néhány észrevétel:
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
Amit Te kikapcsolsz az az
Amit Te kikapcsolsz az az oldalak gyorstárazása. Ez segít abban, hogy egy oldal összeállításához 30-300 query helyett 1 query is elég legyen.
Magába a cache táblába pedig (meg a cache_* táblákba) való írást ezzel nem tudod kikapcsolni szerencsére. Vannak olyan dolgok, mint pl. a menü struktúra amit akkor kell csak felépíteni, amikor egy felhasználó belép és nem minden egyes oldallekéréskor. Ezt pl. mindig gyorstárazza a Drupal. Mint ahogyan nem minden egyes oldallekéréskor böngészi végig az összes sminket és építi fel a theme_registry-t, hanem csak egyszer és utána azt a gyorstárból szedi.
Szerintem kapcsold vissza a gyorstárazást, hisz az tényleg gyorsít az oldaladon.
Ami segíthet, ha a session és cache táblákat memóriába teszed, hisz azokban úgy is olyan adatok vannak amik elveszhetnek.
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
Sokat hozzátenni nem tudok
Sokat hozzátenni nem tudok, mive itt (is) nagyon sok minden függ attól, hogy az adatbázis hogy lett beállítva (van elég query cache?), mennyi tartalmad van, milyen bonyolultak az oldalak, a kapcsolatok, stb.
Sosem volt még dolgom 10 nyelvű oldallal, csak 4, de ott nem jön elő semmiféle lassulás.
(Mondjuk, ha szerdán kell indulnia, akkor lehet, hogy kicsit késő a lassulás okait keresni.)
Nézd meg ezt a modult: http://drupal.org/project/dbtuner - innodb-re át lehet vele rakni a táblákat, illetve az adatbázis kapcsolatok alapján ajánl indexeket.
Az egész oldalt egészében vizsgálnám, hogy mi lehet a lassulás oka. Mekkora terhelést okoz a szeveren az, amikor a php fut, mekkora db terhelést okoz, stb. Nagyon sok oka lehet, annak, hogy valami lassú, de hogy csak a drupalra fogni az egészet... Na, ez nem áll meg. Legalábbis addig nem, míg az egyéb okokat át nem néztük.
Nézd meg ezt is, elméletileg drupal core compatibilis: http://pressflow.org/. A CEU-ban igenjó eredményeket értek el használatával - pedig ott aztán ipari mennyiségű tartalom van (magyar viszonyokhoz képest).
Mindenesetre, leírhatnád majd, hogy mi volt a lassulás oka, hogy sikerült a lassulást kiküszöbölni.
Ja, igen, a cache azért van, hogy ne szedjen mindent mindig db-ből, csak azt ami feltétlen szükséges. Éles oldalon kapcsold be nyugodtan. Mint ahogy a css és js tömörítést is.
--
Szabó Dénes - Internode.hu - Munkára fogott weblapok
Normál cache bekapcsolva
Normál cache bekapcsolva (agresszívet nem hiszem hogy jó ötlet lenne):
Oké, oldal végrehajtás ideje megfeleződött. Érdekes, mert eredetileg, a bekapcsolt cache-el sem volt gyors, azért próbáltam meg kikapcsolni.
Belső oldalaknál:
Viszont egy linkre kattintás és az oldal megjelenése között még így is kb. 3 mp van. Miért?
A kliens gép nem lassú (core2 E7500, 2GB ram), a net sem (60Mbit UPC) és más oldalak ugyanerről a szerverről (mezei PHP oldalak) nem lassúak ennyire.
A modulok, amiket használok:
ill. még pár alaprendszer modult (pl. Menu). Illetve fel van töltve a Chaos Tools, de nincs bekapcsolva.
Localhost-on fejlesztgettem az oldalt, ott is szintén elég lassú, sőt, még több a query (olyan 300) oldalanként és kb 700-900 ms egy oldal végrehajtás. Igaz más a környezet, mert ez Apache server és pl. nincs bekapcsolva a clean URL, míg az éles szerver IIS7 és be van kapcsolva a clean URL.
Egyéb ötlet?
Sokkal többet hozzátenni
már nem lehet. Ilyen messziről legalábbis nem.
a 311.53 ms == 0.3s oldal generálási idő. Nálad 3s után jelenik meg. Talán ne IE-vel nézd :D Kapcsold ki a seoquake modult - be tudja lassítani az oldal lekérést, mire lekérdezi a pagerank-et. Ilyesmi. Akár dns késleltetés is lehet.
Az oldalad a modul lista alapján egyátalán nem bonyolult. Sőt. Valami más van itt elrontva.
Devel modult kapcsold ki, úgy is lassú?
Másik gépen, másik ineternet kapcsolaton nézve is? Másik böngészővel?
Szerintem, innentől csak találgatni lehet: a napfolttevékenység az oka a lassulásnak :)
--
Szabó Dénes - Internode.hu - Munkára fogott weblapok
Nálad 3s után jelenik meg.
Utálom az IE-t, az én browserem a FF. :D Meg az M$-t is utálom úgy kompletten. Otthon Ubuntut használok.
Próbáltam FF és Chrome alatt is, mindegyikkel lassú, de még ha nem lenne, akkor sem jó megoldás az IE-re fogni, mert sajnos még most is túl sokan használják.
a hiba oka: "az éles szerver
a hiba oka: "az éles szerver IIS7"
próbálj meg valami értelmes webszervert.
Nos, ha ráveszed erre az
Nos, ha ráveszed erre az erősen M$ FAG főnökömet is... :P
Részemről, nekem eszembe sem jutna server gépre windowst tenni.
nem én kapok érte pénzt,
nem én kapok érte pénzt, hanem te...
de a péhápét pl nem winre találták ki...
Tiszta sor, hogy unix-os
Tiszta sor, hogy unix-os alapokra tervezték a php-t.
Ha rajtam múlna, én egy Debian vagy Ubuntu server-t tettem volna a gépre és Apache alól futna az egész, még jóval olcsóbb is lenne. De én nem vagyok olyan pozícióban, hogy ilyen döntéseket hozzak, a főnök pedig szinte kizárólag az M$ megoldásokat támogatja, szóval hiába javaslok bármit is.
az ubuntu és szerver szót egy
az ubuntu és szerver szót egy mondatban emlegetni kicsit tulzas...
"Ubuntu is an ancient African word, meaning can’t configure Debian"
offtopic
Szerintem ezt a vonalat itt hagyjuk abba, köszi! :)
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
főleg az exploitok száma
főleg az exploitok száma miatt?
Vagy arra gondolsz, hogy egy alapjában desktop célra fejlesztett os-ből kivették a grafikus felületet és odaadják a népnek szerverosként?
Nem.
Nem.
Arra gondolok, hogy ez a drupal.hu fóruma, Drupalos kérdésekkel és válaszokkal.
Sem többet, sem kevesebbet. :)
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
valahogy meg kell értetned a
valahogy meg kell értetned a főnököddel, hogy egyik wint sem szerver célokra tervezték... főleg ugy, hogy neten lóg egész nap...
Most már tuti, hogy nem oldal
Most már tuti, hogy nem oldal generálási probléma.
Leteszteltem: egy mezei wget pillanatok alatt végez a letöltéssel.
Tehát vagy megjelenítési (css?) probléma lesz, vagy az egyéb fájlok (képek, javascript, css) letöltése lesz lassú. De azokat meg elvileg a browser cache-ből kellene hozni, ha már egyszer meg lett nyitva az oldal.
firebug, yslow
Tölts le firebugot ha még nincs, kapcsold be és a "Net" panelt nézd, ott látod hogy mely oldalelemek mennyi idő alatt töltődnek le, ez alapján levonhatsz következtetéseket. YSlow is segíthet:
http://getfirebug.com/
https://addons.mozilla.org/en-US/firefox/addon/5369/
Köszönöm a segítséget
Köszönöm a segítséget mindenkinek!
A Firebug-Yslow párosítás sokat segített, átalakítottam pár dolgot, amitől gyorsabb lett, ill. (naná) IIS probléma is volt a cache terén...
Sajnos ismét előállt egy
Sajnos ismét előállt egy nagyon furcsa jelenség:
Bizonyos nyelvű oldalak lassúak. Devel szerint query-k csak kb. 250ms-et tesznek ki, ennek ellenére az oldal generálás ideje 12-13 másodperc
Az angol és német nyelvű oldalakon ez nem jelentkezik, ott normális a sebesség, csak a többi nyelven van gond.
- Ugyanezen a szerveren másik Drupal oldallal nincs baj.
- Más php tartalmak mennek rendesen
- Drupal cache ürítés ill. cache ki/be kapcsolás nem segít
Lehetséges, hogy a nagy terhelés miatt (angol és német oldalak kevésbé látogatottak, a magyar és lengyel (ami lassú) viszont most elég nagy látogatottságot kap) ilyen lassú az elérés? Mit lehet ezzel tenni?
Edit:
Meg van a baj: a temp könyvtárat teleszemetelte a Drupal, több százezer apró file volt benne, és mindben ehhez hasonló tartalom:
És ezek után pár a felülethez tartozó szöveg, ill. annak fordítása.
Mi a fene ez és főleg miért pakolgatja ki őket fájlokba? Minden lapletöltéskor keletkezik belőlük vagy 20-30 db.
Továbbra sem sikerült
Továbbra sem sikerült megoldani az előző postban lévő problémát.
Senkinek nincs ötlete?
távgyógyítás
Én egyelőre még csak tanulom a távgyógyítást, jelenleg a vakbélműtétnél tartok.
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés