0

Sivut latautuvat todella hitaasti Drupalissa

Siirsin Drupal 7 sivustoni Kapsille muutama päivä sitten, ja sen jälkeen latausajat ovat pompsahtaneet jäätävän hitaiksi. Vanhalla hostilla renderöintiaika oli alle sekunnin luokkaa (SQL-queryt mukaanluettuna), kun taas Kapsilla jo ennen SQL-queryjä renderöintiaika heiluu viiden sekunnin pahemmalla puolella.

Esitin saman kysymyksen StackExchangen puolella, joten tarkemmat detailit voi lukea tuolta, en halua alkaa kääntämään termejä suomenkielelle ja toistaa itseäni.

Edit:

  • fcgi-prosessin spawnaus lisäsi sivun latausaikaa n. 800-1500ms riippuen luettavien tiedostojen määrästä (300+ tiedostoa raskaimmalla pagella).
  • Noin sekunnin parannus latausaikoihin saatiin siirtäessä sivuston tiedostorakenne pois jaetulta levyltä (NFS) -- tässä tapauksessa fcgi-prosessin spawnauksen delay laski n. puolen sekunnin pintaan.

Parannuksilla tilanne laski siis ~4s pinnasta ~2s pintaan, kun vanhalla hostilla renderöintiaika oli ja on yhä 0.5s hujakoilla.

Edit2:

Ongelma on siis yhä hyvinkin relevantti ja ylläpidon testaama siirto NFS-puolelta on revertattu takaisin. Toivoisin että asiaan saataisiin mahdollisimman pian ratkaisu.

Edit3: Tänään tälläistä http://i.imgur.com/012WeGC.png

red's avatar
31
red
asked 2013-10-01 21:11:22 +0300, updated 2013-10-06 21:24:54 +0300
edit flag offensive 0 remove flag close merge delete

Comments

add a comment see more comments

7 Answers

1

Kapsin WWW-palvelimilla on ollut ongelmia tiedostolukujen hitaudessa. Tästä syystä varsinkin Drupalin kaltaiset softat, jotka lukeat huomattavan määrän tiedostoja peräkkäin jokaisen sivulatauksen yhteydessä kärsivät erityisen ikävästi näistä ongelmista.

Ongelmat on saatu korjattua ja homma toimii jälleen kuten Muumeissa eli kaikki menee erityisen hyvin, jopa paremmin kuin elokuvissa noin keskimäärin. Teknisempää settiä tähän ongelmaan liittyen tulee varmaankin yhdistyksen blogiin.

Drupalin optimointiin kannattaa kiinnittää myös noin muuten hieman huomiota. Internetistä löytyy erityisen hyvin vinkkejä ja howtoja esimerkiksi tarvittavien Drupalin cache-ominaisuuksien päällekytkemiseen. Drupal, kun meinaa olla hieman tahmaisen tuntuinen ilman niitä oli WWW-palvelin mikä hyvänsä.

warod1's avatar
74
warod1
answered 2013-10-22 02:12:09 +0300
edit flag offensive 0 remove flag delete link

Comments

add a comment see more comments
0

Pystyisitkö pistämään lisätietoja tuosta tiedostorakenteen siirtämisestä? Mihin siirsit sen? Ajan itse paria Drupal-saittia Kapsissa ja kaikki vinkit suorituskyvyn parantamiseksi kiinnostavat kovasti.

masipila's avatar
191
masipila
answered 2013-10-06 21:04:14 +0300
edit flag offensive 0 remove flag delete link

Comments

add a comment see more comments
0

Itsellä heilui tänään page execution time 5000ms ja 80 000ms välillä. Queryt tuntuvat menevän aina läpi 100-300ms, mutta mitä stracella tutkittiin niin 300-400 tiedoston luku ja äärimmäisen tahmainen NFS ovat todennäköisesti pääsyitä tolle hitailulle. FCGI prosessin spawnaus toki luo lisähitautta myös, mutta en usko että siitä voidaan tinkiä jaetulla hostauksella koska prosessien on hyvä pysyä käyttäjien välillä eristettynä.

red's avatar
31
red
answered 2013-10-06 21:19:11 +0300, updated 2013-10-06 21:19:32 +0300
edit flag offensive 0 remove flag delete link

Comments

add a comment see more comments
0

Ok, kiitos tiedosta...

Nimim. "Page execution time was 27968.07 ms. Executed 71 queries in 109.89 milliseconds." Tämä toki admin-käyttäjänä jolloin Drupalin cachet eivät pääse väliin, mutta silti...

masipila's avatar
191
masipila
answered 2013-10-06 21:17:21 +0300
edit flag offensive 0 remove flag delete link

Comments

add a comment see more comments
0

Warod:

Minulla on myös about kaikki mahdolliset cachetukset\optimoinnit käytössä:

  • CSS & JS aggregointi ja pakkaus
  • CDN kautta kuvien, scriptien ja tyylien jakelu (cookiet stripattuna)
  • Block cachetus (1-60min riippuen blockista)
  • Kuva, CSS & JS tiedostoille asetettu Expires modilla pitkät säilytysajat käyttäjien koneilla
  • Staattinen cachetus anonyymeille (toimii kunhan cache on lämmennyt, mutta ei tietenkään auta kirjautuneita käyttäjiä lainkaan)

Mitä haluaisin käyttää tämän lisäksi:

  • APC (php laajennus, yksittäinen suurin performanceboost Drupalin tapauksessa yleisestikkin, ja nyt varsinkin kun sen avulla vältetään monen tiedoston lukeminen jokaisella refreshillä). Valitettavasti jaetuissa ympäristöissä APC käyttö ei onnistu, koska prosesseja ei voi eristää.
  • Deflate (apache mod) tarjoiltujen resurssien autom. gzippaus palvelintasolla, lennossa (käytännössä siis .HTML datalle, koska CSS\JS on jo valmiiksi gzipattu agregoinnin yhteydessä). Rasittaa toki palvelinta enemmän, mutta vastineeksi liikennöintimäärät laskevat ja käyttäjät saavat datan nopeammin.
red's avatar
31
red
answered 2013-10-29 19:11:13 +0300, updated 2013-10-29 19:12:25 +0300
edit flag offensive 0 remove flag delete link

Comments

Hei, Haluatko kertoa mikä saitti on kyseessä, niin voisi itsekin vähän ihmetellä sen suoriutumista noin niinku käyttäjän näkökulmasta?

warod1's avatar warod1 (2013-10-29 19:17:20 +0300) edit
add a comment see more comments
0

Siirron teki testimielessä ylläpito ja tällä hetkellä se on siirretty takaisin normaalipuolelle. Toivonmukaan vastaisuudessa (ja pian) saadaan mahdollisuus ajaa saitteja ilman NFS:ää niin tuosta performanssiongelmasta päästäisiin eroon kokonaan.

red's avatar
31
red
answered 2013-10-06 21:09:15 +0300
edit flag offensive 0 remove flag delete link

Comments

add a comment see more comments
0

Kiitos Warod vastauksesta, tilanneinfosta ja etenkin ongelmatilanteen selvittelystä ja korjauksesta.

Omilla sivustoillani on käytössä about kaikki mahdolliset ja jaettuun ympäristöön soveltuvat cachet mitä tiedän. Anonyymien käyttäjien cachet on kytketty päälle. Css- ja js-tiedostojen aggregointi ja pakkaus on kytketty päälle jne.

Drupalin coren cachetus ei tunnetusti ole liian tehokas kirjautuneille käyttäjille. Curling.fi:n itse toteuttamaani tulospalvelumoduuliin on tämän vuoksi toteutettu vielä moduulin sisäinen cachetusmekanismi, joka pitää huolen siitä että esim. sarjataulukkosivun laskeminen (varsin performance expensive operaatio) tehdään vain silloin kun pelit ovat päättyneet ja jotain uutta laskettavaa oikeasti on.

Eli omat Drupal-saittini on pyritty toteuttamaan niin hyvin cachetetuiksi kuin mitä tiedän olevan mahdollista jaetussa ympäristössä. Jos jollakulla Kapsin käyttäjällä on jakaa hyviä lisävinkkejä tai pointtereita erityisen hyvin toimivista suorituskykyä parantavista mekanismeista, niin ilolla ottaisin linkkivinkkejä vastaan.

Cheers, Markus

masipila's avatar
191
masipila
answered 2013-10-22 03:50:36 +0300
edit flag offensive 0 remove flag delete link

Comments

add a comment see more comments

Your Answer

Login/Signup to Answer