Op het moment hebben wij een dedicated server in gebruik, waarop wij 1 Magento webshop hebben draaien. Deze server is uitgerust met een Intel Xeon E5-2620 (6 core, 12 threads), 32 GB RAM en 4x 240 GB Intel SSD in een RAID-10 opstelling. De server draait Linux Centos 6.3 met daarop Apache 2.2.23 met mod_ruid2, PHP 5.3.18 en MySQL 5.5 en nog een aantal standaard dingen voor FTP en e-mail. Als ControlPanel draait hier DirectAdmin.
Wanneer ik de shop bezoek, laden de pagina's an sich redelijk snel voor een Magento shop. Sommige pagina's hebben wat meer tijd nodig omdat deze nog niet zijn gecached met APC en Memcached. Wanneer je dezelfde pagina's echter nog een keer bezoekt, zijn ze keurig snel. So far so good.
Als ik een AB-test uitvoer, zijn de uitkomsten echter dramatisch. Waar ik vorige week nog een "request per second" van +- 100 haalde op de homepage, kom ik nu uit op slechts 8 of 9. Ik hoef jullie niet uit te leggen dat dat toch een bijzonder groot verschil is. De req. per second van 100 haalde ik overigens afgelopen donderdagmiddag. Vrijdagochtend is Memcached aangezet en sindsdien krijg ik slecht resultaten. Uiteraard Memcached uitgeschakeld (zojuist nogmaals), maar na een herstart van Apache blijf ik slechte resultaten halen. Ik heb geprobeerd in my.cnf een aantal variabelen te veranderen (qua caching, buffer pools), maar dat mocht niet baten. Ook in httpd-default.conf wijzigingen gemaakt aan de prefork.c en worker.c, maar blijft dramatisch laag.
Op het moment staat er dit in httpd-default.conf wat betreft de prefork.c en worker.c:
Wanneer ik de AB-uitvoer (ab -n 100 -c 5 http://domeinnaam.nl/), schieten alle cores naar 100% toe. Nu weet ik dat Magento een zwaar systeem is, maar dit is wel echt ernstig. Zoals ik zei heb ik vorige week een request rate van 100 gehad. De load op het systeem was ook aanzienlijk laag. Ik heb toen zelfs nog een "ab -n 100 -c 50" kunnen doen, waarbij amper wat te merken was.
Ik heb veel gegoogled, op Magento forum gekeken en ook (nogmaals) door de diverse config-files heengelopen, maar ik heb geen idee waar ik het moet zoeken. Je vind ook ontzettend veel topics die gaan over de performance van Magento. Alle standaard zaken, zoals APC en Memcached, staan bij ons al aan. Vandaar dat ik mijn toevlucht zoek hier bij PNS.
Iemand enig idee hoe dit plots kan worden veroorzaakt? En nog beter: kan iemand mij in de juiste richting van de oplossing sturen?
De webshop is op het moment nog niet live. Dit gebeurt dinsdag a.s. (5 maart). Het zou mooi zijn als het voor die tijd beter werkt. De laadtijden van de pagina's zijn wel goed, alleen maak ik mij zorgen over de request per second. Het moet natuurlijk niet zo zijn dat de shop er dinsdag eruit knalt omdat het het aantal gelijktijdige bezoekers te hoog is.
Ik hoop dat mijn topic hier goed staat, zo niet, zou een van de modjes hem dan willen verplaatsen?
Wanneer ik de shop bezoek, laden de pagina's an sich redelijk snel voor een Magento shop. Sommige pagina's hebben wat meer tijd nodig omdat deze nog niet zijn gecached met APC en Memcached. Wanneer je dezelfde pagina's echter nog een keer bezoekt, zijn ze keurig snel. So far so good.
Als ik een AB-test uitvoer, zijn de uitkomsten echter dramatisch. Waar ik vorige week nog een "request per second" van +- 100 haalde op de homepage, kom ik nu uit op slechts 8 of 9. Ik hoef jullie niet uit te leggen dat dat toch een bijzonder groot verschil is. De req. per second van 100 haalde ik overigens afgelopen donderdagmiddag. Vrijdagochtend is Memcached aangezet en sindsdien krijg ik slecht resultaten. Uiteraard Memcached uitgeschakeld (zojuist nogmaals), maar na een herstart van Apache blijf ik slechte resultaten halen. Ik heb geprobeerd in my.cnf een aantal variabelen te veranderen (qua caching, buffer pools), maar dat mocht niet baten. Ook in httpd-default.conf wijzigingen gemaakt aan de prefork.c en worker.c, maar blijft dramatisch laag.
Op het moment staat er dit in httpd-default.conf wat betreft de prefork.c en worker.c:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| <IfModule prefork.c> StartServers 30 MinSpareServers 20 MaxSpareServers 30 Serverlimit 750 MaxClients 600 MaxRequestsPerChild 4000 </IfModule> <IfModule worker.c> StartServers 30 MaxClients 750 MinSpareThreads 75 MaxSpareThreads 150 ThreadsPerChild 75 MaxRequestsPerChild 50 </IfModule> <IfModule mpm_winnt.c> ThreadsPerChild 250 MaxRequestsPerChild 10 </IfModule> |
Wanneer ik de AB-uitvoer (ab -n 100 -c 5 http://domeinnaam.nl/), schieten alle cores naar 100% toe. Nu weet ik dat Magento een zwaar systeem is, maar dit is wel echt ernstig. Zoals ik zei heb ik vorige week een request rate van 100 gehad. De load op het systeem was ook aanzienlijk laag. Ik heb toen zelfs nog een "ab -n 100 -c 50" kunnen doen, waarbij amper wat te merken was.
Ik heb veel gegoogled, op Magento forum gekeken en ook (nogmaals) door de diverse config-files heengelopen, maar ik heb geen idee waar ik het moet zoeken. Je vind ook ontzettend veel topics die gaan over de performance van Magento. Alle standaard zaken, zoals APC en Memcached, staan bij ons al aan. Vandaar dat ik mijn toevlucht zoek hier bij PNS.
Iemand enig idee hoe dit plots kan worden veroorzaakt? En nog beter: kan iemand mij in de juiste richting van de oplossing sturen?
De webshop is op het moment nog niet live. Dit gebeurt dinsdag a.s. (5 maart). Het zou mooi zijn als het voor die tijd beter werkt. De laadtijden van de pagina's zijn wel goed, alleen maak ik mij zorgen over de request per second. Het moet natuurlijk niet zo zijn dat de shop er dinsdag eruit knalt omdat het het aantal gelijktijdige bezoekers te hoog is.
Ik hoop dat mijn topic hier goed staat, zo niet, zou een van de modjes hem dan willen verplaatsen?