PHP processer slår i taket

Events happening in the community are now at Drupal community events on www.drupal.org.
Anonymous's picture

Fick följande meddelande av Binero efter att webbplatsen blivit seg igen. Och hur kan jag veta var problemet ligger? Jag behöver mina moduler, hur kommer jag ur denna begränsning.

"Du slår igen i taket på totalt antal PHP processer per användare, trots att du har dubbla antalet mot vad man egentligen har. Detta gör att processkapandet köas upp och siten upplevs som långsam. Du bör se till att cacha upp sida så den inte använder så mycket PHP då vi tyvärr inte kan höja din gräns ytterligare."

Binero är hjälpsamma men om taket är här, behöver jag nog en annan lösning, eller vad tror ni.

Är det egen server man måste ha för att fixa en hyfsad sida med några fler moduler än views och CCK (och 20 till), man blir så trött på detta beroendet och begränsningar. Hur kommer man ur denna begränsning och hur vet jag vad eller vilka PHP-processer som tydligen slår i taket? Jag blir galen på detta. Det känns som man kör win 3.1 igen och ingen dator/processor (386/486) klarade det.

Kör 96Mbyte (går ej höja hos Binero, troligen redan över deras egentliga gräns), är det mer PHP--minne jag behöver?

mvh
Azone

Comments

Det är ju rätt svårt att säga

jonne_jvl's picture

Det är ju rätt svårt att säga utan mera siffror.
Det kan vara "för mycket php kod" eller så väntar php koden på svar ifrån databasen.

Använd devel. Mät hur lång execution time dom vanligaste sidorna tar. Alternativt mät responsen via firebug eller chrome.
Devel ger även en hint om hur många sql frågor varje sida genererar och hur lång tid dom tar.

Mät mot antalet sidvisningar per sekund som du har eller vill ha.

Låter som att du inte kan eller inte har fått igång page cachen.
Det finns ett par moduler som sabbar page cachen, oftast genom att skriva in saker i sessionsdatat eller genom att sätta cache till false.

VPS tjänst?

Azone's picture

Tack för svar, jag har kollat med firebug men inte med devel än. Jag kör "normal caching" och det hjälper en del, men inte tillräckligt vad det gäller PHP-processerna.

Sidan är ett forum med lite kringfunktioner, som är nödvändiga för att skräddarsy den för sin uppgift och ämnet. Jag tycker det verkar som Binero har bra kapacitet, vad det gäller bandbredd och lagring, men inte när det gäller PHP-processer. Vi har många inloggade aktiva användare som förstås genererar en del PHP-processer. En del sidor är förstås dynamiska och olika för olika användare, men det är väl det som är grejen med ett CMS, att man kan göra dynamiska sidor.

Jag vet inte om Drupal är mer krävande än andra CMS, eller om mina sidor är dåligt optimerade, men jag använder standardmoduler och försöker se till att Drupal är "up to date" versionsmässigt. Är detta ett allmänt problem eller är Drupal lite mer krävande än andra CMS-system?

Vi har följande trafik (och växande)
21000 besök per månad
Varav 7000 Unika besökare (= väldigt lojala medlemmar)
160 000 sidvisningar per månad.

Mellan 10-40 personer är inloggade kl 0600-0200 plus lika många passiva icke inloggade.
Är detta mycket trafik? Trodde hotellen skulle klara detta.
Jag är glad åt tillväxten men förväntar oss dubblering inom 6 månader. Är VPS rekommenderat i detta fall eller vilken lösning skulle ni föreslå?

mvh
A

Följ rekommendationerna från

dixon_'s picture

Följ rekommendationerna från jonne_jvl i första kommentaren och använd Devel för att se om det är något som utmärker sig där. 96M minne för PHP borde vara tillräckligt.

Men det låter som att du har någon dum modul/kombination på din sajt. En klassiker är annars att man glömt att stänga av ombyggandet av temaregistret. Bastemat Zen bygger ju om temaregistret varje sidvisning med en inställning. Kolla det.

Drupal i sig är det inget fel på. Det är troligtvis en modul eller en kombination av moduler som jag nämnde. Vi på NodeOne driftar sajter med 2 - 3000 unika besökare per timme, varav kanske ett hundratal är inloggade samtidigt. Visserligen med lite avancerad cachning osv. Men en webbplats med din trafik ska inte vara några som hellst problem för Drupal och den typen av hosting du kör hos Binero.

Ett annat bra sätt att snabbt upptäcka fel på är att ta ner sajten på din lokala dator och profilera sajten med något som heter KCachegrinf. Där ser du direkt exakt vad flaskhalsen finns i din applikation.

Just ja. Aningen långsökt men

jonne_jvl's picture

Just ja.
Aningen långsökt men jag har sett det mer än en gång. :)
Du har inte massa referenser till saknade filer och så i css filer och så?

Varje fil som saknas genererar en drupal 404 sida som default. Med tillräckligt många saknade filer kan varje sidvisning generera X antal extra samtidiga sidogenereringar. Även bilder, css osv. Kolla även så att ex. imagecache inte genererar bilder vid varje sidvisning.

Watchdog eller firebug-net eller chrome-resources bör ge info om båda dessa problem.
Ytteligare fel kan vara om det någonstans konstant genereras varningar och fel till watchdog.

Instämmer med dixon_ , trafiken ska inte vara något problem. Cachen spelar nog ingen större roll om de flesta besöken är inloggade och aktiva. Kör lokalt och mät lite med devel (execution time + antal queries/långsamma queries)

Tack för alla bra tips. Efter

Azone's picture

Tack för alla bra tips. Efter en massa undersökningar och flytt till egen VPS, kom jag fram till att felaktig eller för intensiv användning av flag-modulen och views skapade låsningar i databasen.
Ändrat detta och är försiktigare med Flags-modulen, samt kör Glesys VPS nu. Nu går det som tåget.

Men lite mer om sidcaching skulle jag behöva lära mig.

mvh
Admin

Sweden

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: