Druapl oldal lassú

moha képe

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ó.

Drupal verzió: 
Fórum: 
kardave képe

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

0
0
nevergone képe

Néhány észrevétel:

  • Kellene az oldalad linkje. Simán lehet, hogy telenyomtad mindenféle (optimalizálatlan) nézettel, és olyan modulokat használsz, amelyek teljesítménybeli hatásáról nem győződtél meg vagy nem olvastál utána.
  • A "cache" magyar fordításban legtöbbször "gyorsítótár" néven szerepel. Ezen információ alapján szerinted gyorsítja az oldalad működését, ha kikapcsolod?
  • Kellenének egyéb adatok, PHP, használt modulok, stb.
  • Készíts mentést és próbáld ki localhost-on. Ott is lassú?
  • Ha valóban nagy terhelésnek lesz kitéve az oldalad, akkor érdemes lehet egyéb gyorsítótárak alkalmazására, pl. APC, Memcache, Varnish, illetve az adatbázis-szerver beállításainak finomhangolására.
  • Ez a hozzászólás alapján pedig felidézhetnéd, hogy miket módosítottál az oldalon, mert attól tartok hogy nem megfelelő helyeken alkalmaztál nem odaillő eszközöket. Ha "széthekkeled" a Drupalt, vagy szembemész a filozófiájával, akkor ne lepődj meg, ha nem úgy működik, ahogy elvárnád.
0
0
pp képe

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

0
0
Den képe

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.

0
0
moha képe

Normál cache bekapcsolva (agresszívet nem hiszem hogy jó ötlet lenne):

Executed 99 queries in 161.11 milliseconds. Queries taking longer than 5 ms and queries executed more than once, are highlighted. Page execution time was 252.4 ms.

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:

Executed 122 queries in 207.74 milliseconds. Queries taking longer than 5 ms and queries executed more than once, are highlighted. Page execution time was 311.53 ms.

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:

  • CCK
  • Devel
  • Global redirect
  • IMCE
  • Menu Breadcrumb
  • Page Title
  • Token
  • Locale
  • i18n

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?

0
0
Den képe

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 :)

0
0
moha képe

Nálad 3s után jelenik meg. Talán ne IE-vel nézd :D

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.

0
0
csy képe

a hiba oka: "az éles szerver IIS7"
próbálj meg valami értelmes webszervert.

0
0
moha képe

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.

0
0
csy képe

nem én kapok érte pénzt, hanem te...
de a péhápét pl nem winre találták ki...

0
0
moha képe

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.

0
0
csy képe

az ubuntu és szerver szót egy mondatban emlegetni kicsit tulzas...

"Ubuntu is an ancient African word, meaning can’t configure Debian"

0
0
nevergone képe

Szerintem ezt a vonalat itt hagyjuk abba, köszi! :)

0
0
csy képe

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?

0
0
nevergone képe

Nem.
Arra gondolok, hogy ez a drupal.hu fóruma, Drupalos kérdésekkel és válaszokkal.
Sem többet, sem kevesebbet. :)

0
0
csy képe

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...

0
0
moha képe

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.

0
0
drifter képe

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/

0
0
moha képe

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...

0
0
moha képe

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:

Drupal.locale = { 'pluralFormula': function($n) { return Number(($n!=1)); }, 'strings': 

É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.

0
0
moha képe

Továbbra sem sikerült megoldani az előző postban lévő problémát.
Senkinek nincs ötlete?

0
0
nevergone képe

Én egyelőre még csak tanulom a távgyógyítást, jelenleg a vakbélműtétnél tartok.

0
0