PDA

Bekijk Volledige Versie : Hulp bij configuratie VPS/Dedicated Server



Rikay
08/03/13, 12:00
Hoi mensen,

Ik beheer een website die gekoppeld is aan een groot Twitter account. Op die website publiceer ik blogs en plaatjes die automatisch op Twitter gepubliceerd worden. Het is een responsive Wordpress template die momenteel draait op een managed dedicated server met de volgende specs:

Intel core i3
4GB RAM geheugen (in control panel staat trouwens 6114 MB beschikbaar, dus kan ook 6GB zijn)
2x 250GB harddisk RAID1
5000GB dataverkeer p/maand

Ik ben een leek en mijn probleem is als volgt:
Na het publiceren van een plaatje of blog op Twitter vindt er logischerwijs een gigantische piek in mijn traffic plaats. Gedurende een minuut of 5 heb ik tussen de 300 en 600 realtime bezoekers en tussen de 4 en 6 bezoekers per seconde. De website wordt in een minuut of tien dan zo'n 3000 keer bezocht (stats van Analytics). Tijdens extreme pieken geeft mijn website soms de foutmelding die lijkt op: Could not allocate [x aantal bytes] in [bestandspad van het niet te laden bestand].

Ik heb mij laten vertellen dat dat te maken heeft met het werkgeheugen dat het het aantal http request niet aankan. Wordpress is immers database driven en de hoeveelheid querys die zulke bezoekersaantallen met zich meebrengen floaden dan het werkgeheugen (of zoiets).

Ik ben begonnen op een shared hosting pakket voor een tientje in het jaar, maar moest van mijn hostingsprovider meteen upgraden omdat ik op dag ze al een serverload van 2000% (!) bezorge. Geupgrade naar een mini VPS maar dat mocht ook niet helpen. Uiteindelijk een maand of 3 gedraait op een VPS met 3GB werkgeheugen maar ook dat mocht niet baten. Dinsdag weer gebeld met mijn hostingprovider en ze gevraagd hoe het kan dat ze me niet gewoon een pakket aan kunnen bieden die mijn website wel kan handelen. Ze hebben mij nu 3 weken kosteloos op een dedicated sercer gezet om te kijken of dat helpt, maar je raadt het al...

Toen kwam 1 van hun met de suggestie dat ik misschien mijn server moest configureren door een Opcode APC module te installeren (kosten 35 eu) en van de SQL caching op de server (kunnen ze niet voor mij instellen, moet ik laten doen) gebruik te maken. Het configureren van de server zal weliswaar helpen, maar dit betreft slechts de caching (toch?). De pagina's (lees: een blogpost met plaatjes of artikelen) die ik publiceer kunnen toch niet gepage cached worden, want zodra de post gepubliceerd is staat ie al op Twitter.

Jullie raden het al... ik ben ten einde raad en ben van mening dat ik niet 150eu p/m kwijt hoef te zijn aan nog duurdere hosting om mijn website draaiende te houden. Ik verdien aan de advertentie inkomsten die de website genereert, maar loop gewoon geld mis omdat de website niet 100% uptime heeft.

Wie o wie kan mij helpen/adviseren?

Vriendelijke groet,
Rik

SF-Jeroen
08/03/13, 12:54
Ik denk dat Varnish oplossing gaat bieden. Vooral omdat het content betreft die niet anders is per verschillende bezoeker is dit een goede optie. Varnish wordt voor je normale webserver (wss Apache) gezet, en handelt alle requests af zover mogelijk, en stuurt ze dan pas eventueel door naar Apache.

Bart L
08/03/13, 12:58
Ik sluit me aan bij SF-Jeroen, al is het wel handig als je hostingpartij gewend is met de techniek te werken. Anders wordt je bij ieder probleem het bos in gestuurd :)

vDong
08/03/13, 13:06
Ik denk niet dat er 1 magische oplossing is, zoals het klinkt is er nooit naar de efficientie van de website gekeken en puur steeds meer hardware er tegenaan gegooit.
Dit soort aantallen zijn op zich niet schokkend, maar ik kan me voorstellen dat zonder database tuning, zonder webbrowser tuning (zie varnish advies, maar ook opcode) er op een bepaald moment een einde is aan wat voor hardware jij je nog kan veroorloven.

systemdeveloper
08/03/13, 13:09
Je kunt eventueel nog de wp super cache plugin installeren. Dan hoeft je server alleen nog static html pages uit de cache te sturen, wat in principe ver hetzelfde is als varnisch er nog bij pleuren. (Al kun je met varnisch wel wat meer tunen).

Edit: dat is een mogelijke 'easy oplossing'. De goede oplossing is uiteraard om je mysql e.d. te tunen, want zoals gezegd, 6 bezoekers per sec. is niks.

Ramon Fincken
08/03/13, 13:11
Doe eerst es W3 total cache + memcached. Nooit op disk opslaan!

Trekt hij het dan nog niet zou varnish ervoor als losse server handig zijn.

Rikay
08/03/13, 14:18
Gebruik W3, heb alleen browser caching geconfigureerd. Page cache staat uit omdat OpCode APC module niet geinstalleerd is en ik 'm volgens mij anders op disk enhanced moet zetten, maar dat werkt alleen maar averechts. Goed geconfigureerde vps of dedicated server lijkt me de beste oplossing.

Ramon Fincken
08/03/13, 14:20
page cache is echt het toverwoord van alle opties bij cache plugins voor WP, rest is leuk maar mwah ..
als je nu niets anders kan .. dan page cache op disk enhanced zetten. APC als optie is geen aanrader, object cache kan ook averechts werken.

cyberbootje
08/03/13, 15:09
Memcached is al genoemd en daar ga ik in mee.
Overigens denk ik dat je beter een partij kan zoeken die compleet server techniek voor je regelt en ervaring heeft met optimalisatie, in dit geval ook nog met WordPress.



Jullie raden het al... ik ben ten einde raad en ben van mening dat ik niet 150eu p/m kwijt hoef te zijn aan nog duurdere hosting om mijn website draaiende te houden. Ik verdien aan de advertentie inkomsten die de website genereert, maar loop gewoon geld mis omdat de website niet 100% uptime heeft.


Misschien vind je dat 150,- p/m niet nodig is maar een goede partij vind je niet zo snel voor een spotprijs, daarnaast sla je de spijker op z'n kop.
Je verdient aan de website maar je loopt geld mis. Denk echt serieus dat je moet kijken naar een structurele oplossing in de breedste zin zodat jij je kan focussen op de dingen waar je zelf goed in bent.

Rikay
08/03/13, 15:38
Maar cached W3 dan juist wel de pagina die het meest opgevraagd wordt? Dat is namelijk de pagina die na publicatie meteen bezocht wordt. Bij advanced settings heb ik de interval op 10 min staan met 15 pagina's per keer. Maar dan cached ie toch nooit de juiste pagina? Garbage collection interval stond op een uur.

Of heeft bovenstaande niks te maken met het cachen van de bezochte pagina? Cached W3 meteen de nieuw gepubliceerde pagina meteen voor nieuwe bezoekers? Als ie dat niet doet kan ik page caching toch beter uitzetten omdat ie anders werkgeheugen bezet met gecachede pagina die toch niet worden opgevraagd?

dicktump
08/03/13, 17:34
Ik zou eerst eens iemand zoeken die je kan helpen bij de optimalisatie hiervan. Daarna kun je kijken hoeveel resources je nou precies nodig hebt na de optimalisaties en of je wellicht goedkoper uit kunt zijn. Maar zonder optimalisatie kun je er eeuwig hardware tegenaan gaan gooien naar mate het drukker wordt, maar dat kost domweg alleen maar geld.

golden
08/03/13, 17:53
Maar cached W3 dan juist wel de pagina die het meest opgevraagd wordt? Dat is namelijk de pagina die na publicatie meteen bezocht wordt. Bij advanced settings heb ik de interval op 10 min staan met 15 pagina's per keer. Maar dan cached ie toch nooit de juiste pagina? Garbage collection interval stond op een uur.

Of heeft bovenstaande niks te maken met het cachen van de bezochte pagina? Cached W3 meteen de nieuw gepubliceerde pagina meteen voor nieuwe bezoekers? Als ie dat niet doet kan ik page caching toch beter uitzetten omdat ie anders werkgeheugen bezet met gecachede pagina die toch niet worden opgevraagd?

Over het algemeen cached die een pagina vaak direct zodra deze bezocht wordt en nog niet gecached is. Dus dat hij direct na het zetten op twitter druk bezocht wordt mag niet uitmaken.

Bij de eerste hit zal betreffende pagina gecached worden waarna de rest hem uit de cache zal laden.

Cache disk enhanced zal voor dit aantal bezoekers geen probleem mogen zijn. Aangezien dat enorm veel lichter is dan de hele tijd queries runnen.

Ramon Fincken
09/03/13, 11:55
Beste Rikay, buiten pages cachen zijn er nog legio andere zaken die je kunt aanpakken om de server te ontzien. Als je in het juiste forum een aanvraag zet mag ik daar mijn diensten aanbieden, hier mag dat niet. Ik heb zeer ruime ervaring in het optimaliseren van WordPress websites.