Frage Wie viel VPS Ram würde ich brauchen, um Wordpress, Apache, SVN und MySQL laufen zu lassen?


Hat jemand eine Baseball-Figur, wie viel VPS RAM (ohne burstable) würde ich Apache mit WordPress und Subversion sowie die MySQL-Instanz haben müssen?

Apache würde ein paar Sites und SSL hosten. MySQL hätte nur die Wordpress-Datenbank. Diese Seiten sind wenig Verkehr, weniger als 1k Zugriffe pro Tag.


20
2017-08-11 14:44


Ursprung




Antworten:


Denken Sie daran, dass jeder Apache Worker ca. 20-25MB verbraucht, also wenn Ihre 1k Treffer in 8 Stunden pro Tag gleichmäßig verteilt sind, können Sie daran denken, nur 0,03 Anfragen pro Sekunde zu erfüllen.

Angenommen, Sie haben den gesamten Traffic in nur 1 Stunde am Tag konzentriert (es ist natürlich nicht), sollten Sie etwa 0,28 Anfragen pro Sekunde bedienen.

Ein anderes Problem ist, wie viel Speicher Sie haben DB, es ist einfach zu wissen, und es ist ziemlich eine feste Kosten.

Im schlimmsten Fall musst du die gesamte DB übertragen (oh mein Gott !, refaktoriere dich in diesem Fall! :)) .. also verdopple die vorherige Zahl ..

Die kurze Antwort ist (IMHO) 128MB wird ausreichen, reichlich. Ihr Server wird im Leerlauf sein und der Speicher wird für eine lange Zeit frei sein, angesichts des Verkehrs, den Sie sich vorstellen.

Ich habe 20 Domänen in einem VPS mit 256 MB seit 3 ​​Jahren, die sind in Ordnung ... und die Gesamtzahl der Treffer sind etwa 1500-2000 ...

OK, Speicher ist heutzutage billig, aber Leute ... weißt du, wie viel ein Gigabyte ist?

PS:   Ich spreche natürlich von einem Linux-System, nicht von OS, das nur 4GB für die GUI verbraucht :)


19
2017-08-11 15:00





Für die Verwendung mit wenig Verkehr, die Sie beschreiben, sollten Sie mit einem kleinen Plan (256 MB - 384 MB) in Ordnung sein. Wenn Apache und MySQL installiert sind, gehen ihre Standardkonfigurationen davon aus, dass sie mit mehr verfügbarem RAM arbeiten, was zu Problemen führen kann. Verwenden Sie Folgendes als einen guten Ausgangspunkt und passen Sie sie gegebenenfalls an:

In Ihrer Apache 2-Konfigurationsdatei (normalerweise in /etc/apache2/apache2.conf oder /etc/apache2/httpd.conf):

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

In Ihrer MySQL-Konfigurationsdatei (normalerweise in /etc/mysql/my.cnf):

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

Wenn Sie keine InnoDB-Tabellen verwenden, sollten Sie die InnoDB-Unterstützung deaktivieren, indem Sie die folgende Zeile hinzufügen:

skip-innodb

13
2017-08-20 16:40



Ich habe mehrere dieser Zeilen erwähnt apache2.conf. ändere sie alle? sie sind beschriftet: prefork MPM, worker MPM, event MPM - vsync


Ich hatte Probleme mit Bergwerk bei 512 MB RAM, bis ich zu FastCGI wechselte. Das hat die Performance sehr verbessert. Ich hatte bis zu diesem Zeitpunkt eine 30MB freie Version (ohne Cache), und am Ende war ich über 100MB frei.

Je nach Verkehr Ihrer Website können sich Ihre Laufzeiten natürlich ändern. Und sobald der Verkehr beginnt zu drehen, können Sie zu nginx wechseln.

Um mir etwas Komfort zu kaufen, erhöhte ich auf 1GB.

BTW, ich bin bei gehostet prgmr.comund ich habe noch niemanden gesehen, der ihre Preise berührt hat.


2
2017-08-11 14:55



Danke für die prgmr.com, ich liebe den Slogan "Wir gehen nicht davon aus, dass du dumm bist." :-) - Kyle Brandt♦
Ja, das zusammen mit der Tatsache, dass Luke den LOPSA-Mitgliedern Rabatte auf die Low-End-Sachen gewährt, ist der Grund, warum ich mit ihnen ging - Matt Simmons
Ich weiß, es ist zu alt, aber jetzt, ich denke, Digitalocean ist, wo die Leute sagen können, dass niemand sie schlagen kann :) - Ali


Ich führe ein ähnliches Setup auf einem VPS mit 256 MB RAM, aber laufe Lighttpd anstelle von Apache. Ich habe zuerst versucht, Apache, aber es war zu viel für die 256 MB VPS. Wenn Sie Apache verwenden möchten, sagen Sie, dass Sie mit 512 MB RAM auskommen können.

Je nachdem, wen Sie für Ihr VPS-Hosting verwenden, können Sie mit einem kleineren VPS beginnen und dann bei Bedarf die Größe erhöhen, ohne den Server neu konfigurieren zu müssen.


1
2017-08-11 16:41





Sie sollten mit 1 GB in Ordnung sein, aber für 2 GB gehen, wenn Sie können, ist es ein großer Leistungsschritt für die meisten modernen Betriebssysteme.


0
2017-08-11 14:54



1 GB wäre massiv Übertöten für 1k Treffer pro Tag. - ceejayoz
Sie gehen davon aus, er läuft Linux, was, wenn er Windows 2008 64-Bit ausführen möchte ??? - Chopper3
Beachten Sie, dass dies für einen Server mit Apache, MySQL und PHP gilt. Insbesondere für Apache würde ich keinen Windows-Server verwenden wollen. - thomasrutter


Ich benutze nginx + php-fastcgi anstelle von Apache, aber mit einer sehr ähnlichen Anwendungslast. Ich benutze svn + ssh für meinen Subversion-Zugriff, also gibt es keinen svnserve-Prozess, außer wenn ich auf das Repository zugreife. Dies läuft alles auf Ubuntu 8 LTS.

Im Moment laufe ich mit 174mB und verwende 256mB, und die Website reagiert sehr gut (durchschnittliche Antwortzeit von 500ms für Wordpress-Ansichten)

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

Ich würde empfehlen, einen leichtgewichtigen Frontend-Webserver wie nginx oder lighttpd anstelle von Apache + mod_php zu betrachten. Selbst Apache + mod_fastcgi-Proxying auf php-fastcgi würde weniger Speicher benötigen.

Wenn Sie die Apache-Route hinunter gehen, sagt mein Bauch, 512mB würde wahrscheinlich den Trick tun. Ein Speicher von 1 oder 2 GB scheint ein erheblicher Overkill zu sein, vor allem angesichts der Tatsache, dass die meisten VPS-Anbieter ihre Kosten bei größeren Konfigurationen erhöhen.


0
2017-08-11 16:22





Ich kämpfe seit einer Weile damit.

AlbertTs Einstellung funktionierte hervorragend. Die mysql-Einstellungen haben einen deutlichen Unterschied gemacht und die Site sieht nun gut aus. http://laterboltz.com

In Ihrer MySQL-Konfigurationsdatei (normalerweise in /etc/mysql/my.cnf):

Schlüssel_Puffer = 16K max_allowed_packet = 1M thread_stack = 64K table_cache = 4 sort_buffer = 64K net_buffer_length = 2K

Wenn Sie keine InnoDB-Tabellen verwenden, sollten Sie die InnoDB-Unterstützung deaktivieren, indem Sie die folgende Zeile hinzufügen:

überspringen-innodb


0
2017-08-26 00:54