PDA

Bekijk Volledige Versie : VPS: benodigde specs?



Reemi
02/07/13, 10:19
Voor mijn website ben ik op zoek naar een geschikte VPS. Momenteel heb ik een shared hosting pakket, maar de snelheid, bereikbaarheid en controle (je hebt de software niet zelf in handen) bevallen niet. Nu vraag ik mij af welke specificaties (RAM, CPU-cores) ik nodig heb voor het volgende:

Ik heb een website met een redelijk grote database. Ik wil toch wel voorbereid zijn op redelijk grote bezoekersaantallen en de server moet op piekmomenten minimaal 500 bezoekers op hetzelfde moment aankunnen. Ik denk dat ik ISPConfig op de server ga installeren. Ook wil ik wkhtmltopdf (https://code.google.com/p/wkhtmltopdf/) gaan gebruiken.

Mijn budget is overigens niet al te groot. Zal een VPS met 1024MB RAM voldoen?


Bij voorbaat dank!

SmilieBG
02/07/13, 10:53
Als je de mogelijkheid hebt om lokaal of op een tijdelijke test server het genoemde script aan te roepen en dan kijken wat ie 'verbruikt' qua processen / geheugen e.d. - dan zal je redelijke schatting hebben van wat je nodig hebt.

Piek momenten zijn lastig. Het zou zomaar kunnen zijn dat je op piek momenten 4 GB aan geheugen nodig hebt, maar dat is dan weer voor ~15 minuten per dag. Het is dan zonde om fors meer te betalen daarvoor.

Ervaring leert dat een goed geoptimaliseerd database (structuur) + geoptimaliseerde code vele malen groter voordeel levert dan meer CPU / geheugen.

Reemi
02/07/13, 12:24
Bedankt voor je antwoord. Ik beschik momenteel over een VPS met 4GB RAM om te testen, dit is echter te duur om voor altijd te behouden. Hoe kan ik het verbruik controleren? Ik draai CentOS 6.4.

SmilieBG
02/07/13, 12:41
Wel nou, je kan het vanuit applicatie zelf doen; geen idee wat je gaat gebruiken, echter nagenoeg elke programmeer taal kent een soort van 'memory usage' commando. Hiermee kan je 1 proces (HTML > PDF) starten en kijken of ie 1 MB, 10 MB of 100 MB per proces nodig heeft. Als je waardes voor 1 proces kent, dan kan je +/- uitrekenen wat je nodig zal hebben voor piek momenten :)

Hou er rekening mee dat je OS + ISPConfig en rest van de noodzakelijke processen ook circa 150MB (RAM) nodig zal hebben (weer afhankelijk van of je ook FTP, mail server, ssh enzovoort gaat draaien of niet) :)

Je kan o.a. (heel simplistisch) via shell commando 'top -c' kijken wat je server doet op het moment dat je 1 proces start. Maar er zijn ook andere commando's op CentOS om exacte geheugen verbruik te monitoren per proces; helaas schiet mijn shell kennis daarvoor te kort, wellicht dat iemand anders je hiermee kan helpen. Google zegt (even snel zoeken):

ps -p <pid> -o %cpu,%mem,cmd

waarbij je pid via o.a. top of ps -ef kan zien.

Succes :)

PimEffting
03/07/13, 21:22
Je budget zal waarschijnlijk de beperking zijn.

Iets om op te letten bij een VPS server:
- Hoe is de storage geregeld? Heb je ergens een goedkoop desktop SATA schijfje? Of werkt de server met supersnelle SSD schijven? Dit scheelt zeer veel in je IOPS (snelheid van de storage).
- In welke mate ben je "oversold"? Een provider zal de beschikbare capaciteit meerdere keren verkopen omdat niet alle servers altijd 100% van de capaciteit gebruiken. Maar je kan hierin ook doorslaan. Dan wordt de VPS erg traag en gevoelig voor fluctuaties in performance.
- Optimaliseer je software! Heb je een MySQL database? Overweeg MariaDB of Percona en optimaliseer je my.cnf. Dat scheelt zeer veel performance. Hetzelfde geldt voor je webserver. Gebruik je Apache? Overweeg Nginx met php-fpm.

SF-Jeroen
03/07/13, 21:49
Ik ben het met Pim eens. MySQL gebruikt veel iops, dus SSD-storage is geen overbodige luxe. Een goedkope vps mist nou net vaak dat punt, omdat storage het duurste aspect is. Als jij veel (zware) queries doet per bezoeker ga je het met 1024 mb nooit redden. Wat je exact nodig hebt hangt af van; is het vooral InnoDB of MyISAM (buffer pool), hoe groot zijn je tabellen, hoeveel queries, veel/weinig joins, veel dezelfde queries (cache), etc. etc.