De combien de RAM VPS aurais-je besoin pour exécuter Wordpress, Apache, SVN et MySQL?


20

Quelqu'un a-t-il une idée approximative de la quantité de RAM VPS (sans éclatement) dont j'aurais besoin pour Apache avec wordpress et subversion ainsi que l'instance MySQL?

Apache hébergerait quelques sites et SSL. MySQL aurait juste la base de données Wordpress. Ces sites sont à faible trafic, moins de 1 000 visites par jour.

Réponses:


19

Gardez à l'esprit que chaque travailleur apache consommera environ 20-25 Mo, donc si vos hits 1k sont également espacés dans le temps en 8 heures par jour, vous pouvez penser à ne servir que 0,03 requêtes par seconde.

En supposant que tout votre trafic soit concentré en seulement 1 heure dans la journée (ce n'est bien sûr pas le cas), vous devriez avoir à traiter environ 0,28 requêtes par seconde.

Un autre problème est la quantité de mémoire dont vous disposez pour la base de données, mais elle est simple à connaître et son coût est assez fixe.

Dans le pire des cas, vous devrez transférer l'intégralité de la base de données (oh mon dieu !, refactorisez-vous SQL dans ce cas! :)) .. alors doublez le nombre précédent ..

La réponse courte est (à mon humble avis) 128 Mo suffiront, abondamment. Votre serveur sera inactif et la mémoire sera libre pendant longtemps, compte tenu du trafic que vous imaginez.

J'ai 20 domaines dans un VPS avec 256 Mo depuis 3 ans, ça va ... et le nombre total de visites est d'environ 1500-2000 ...

D'accord, la mémoire est bon marché de nos jours, mais les gars ... savez-vous combien coûte un gigaoctet?

PS: je parle d'un système Linux bien sûr, pas d'un OS consommant 4 Go pour l'interface graphique uniquement :)


13

Pour l'utilisation à faible trafic que vous décrivez, vous devriez être bien avec un petit plan (256 Mo - 384 Mo). Quand Apache et MySQL sont installés, leurs configurations par défaut supposent qu'elles fonctionnent avec plus de RAM disponible, ce qui peut causer des problèmes. Utilisez ce qui suit comme bon point de départ et ajustez si nécessaire:

Dans votre fichier de configuration Apache 2 (généralement trouvé dans /etc/apache2/apache2.conf ou /etc/apache2/httpd.conf):

StartServers 1
MinSpareServers 3
MaxSpareServers 6
ServerLimit 24
MaxClients 24
MaxRequestsPerChild 3000

Dans votre fichier de configuration MySQL (généralement trouvé dans /etc/mysql/my.cnf):

key_buffer = 16K
max_allowed_packet = 1M
thread_stack = 64K
table_cache = 4
sort_buffer = 64K
net_buffer_length = 2K

De plus, si vous n'utilisez pas de tables InnoDB, vous devez désactiver la prise en charge InnoDB en ajoutant la ligne suivante:

skip-innodb

J'ai plusieurs de ces lignes mentionnées dans apache2.conf. les changer tous? ils sont étiquetés: prefork MPM, worker MPM,event MPM
vsync

2

J'avais des problèmes avec le mien à 512 Mo de RAM jusqu'à ce que je passe à FastCGI. Cela a beaucoup amélioré les performances. J'avais 30 Mo d'espace libre (sans compter le cache, bien sûr) jusque-là, et je me suis retrouvé avec plus de 100 Mo d'espace libre.

Votre kilométrage peut bien sûr varier en fonction du trafic de votre site. Et une fois que le trafic commence à augmenter, vous pouvez passer à nginx.

Pour m'acheter un peu de confort, j'ai augmenté à 1 Go.

BTW, je suis hébergé sur prgmr.com , et je n'ai encore vu personne toucher leurs prix.


1
Merci pour le prgmr.com, j'adore le slogan "Nous ne supposons pas que vous êtes stupide." :-)
Kyle Brandt

Oui, c'est pourquoi, avec le fait que Luke offre des réductions sur les produits bas de gamme aux membres de LOPSA, c'est pourquoi je suis allé avec eux
Matt Simmons

Je sais que c'est trop vieux, mais maintenant je suppose que digitalocean est l'endroit où les gens peuvent dire que personne ne peut les battre :)
Ali

1

J'exécute une configuration similaire sur un VPS avec 256 Mo de RAM, mais j'exécute lighttpd au lieu d'Apache. J'ai d'abord essayé Apache, mais c'était trop pour les 256 Mo VPS. Si vous souhaitez utiliser Apache, je dirais que vous pouvez vous en tirer avec 512 Mo de RAM.

Selon la personne que vous utilisez pour votre hébergement VPS, vous pouvez commencer avec un VPS plus petit, puis augmenter la taille si nécessaire sans avoir à reconfigurer le serveur.


0

Vous devriez être bien avec 1 Go, mais optez pour 2 Go si vous le pouvez, c'est une étape de performance majeure pour la plupart des systèmes d'exploitation modernes.


1
1 Go serait énorme pour tuer 1k hits par jour.
ceejayoz

Vous supposez qu'il exécute Linux, et s'il veut exécuter Windows 2008 64 bits ???
Chopper3

Notez que cela concerne un serveur exécutant Apache, MySQL et PHP. Pour Apache en particulier, je ne voudrais pas utiliser de serveur Windows.
thomasrutter

0

J'utilise nginx + php-fastcgi au lieu d'Apache, mais avec une charge d'application très similaire. J'utilise svn + ssh pour mon accès à subversion, donc il n'y a pas de processus svnserve en cours d'exécution sauf lorsque j'accède au référentiel. Tout cela fonctionne sur Ubuntu 8 LTS.

En ce moment, je cours à 174 Mo utilisés pour 256 Mo, et le site Web est assez réactif (temps de réponse moyen de 500 ms pour les vues Wordpress)

             total       used       free     shared    buffers     cached
Mem:           256        252          3          0         22         56
-/+ buffers/cache:        174         81
Swap:          511         12        499

Je recommanderais de regarder un serveur web frontal léger comme nginx ou lighttpd au lieu d'Apache + mod_php. Même Apache + mod_fastcgi mandatant php-fastcgi prendrait moins de mémoire.

Si vous suivez la voie Apache, mon instinct dit que 512 Mo feraient probablement l'affaire. 1 ou 2 Go de mémoire semble être une surpuissance considérable, en particulier compte tenu de la façon dont la plupart des fournisseurs de VPS augmentent leurs coûts lorsque vous arrivez à de plus grandes configurations.


0

Je lutte avec cela depuis un certain temps.

Le décor d'AlbertT fonctionnait parfaitement. Les paramètres mysql ont fait une nette différence et le site navigue désormais très bien. http://laterboltz.com

Dans votre fichier de configuration MySQL (généralement trouvé dans /etc/mysql/my.cnf):

key_buffer = 16K max_allowed_packet = 1M thread_stack = 64K table_cache = 4 sort_buffer = 64K net_buffer_length = 2K

De plus, si vous n'utilisez pas de tables InnoDB, vous devez désactiver la prise en charge InnoDB en ajoutant la ligne suivante:

sauter-innodb

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.