PDA

Bekijk Volledige Versie : OpenVZ VPS met 1024MB RAM optimaliseren (Apache, MySQL, PHP)



Nsly
18/06/13, 18:56
Ik heb een OpenVZ VPS met 1024MB RAM, 1 Core (Intel(R) Xeon(R) @ 3.40GHz), en ik heb Debian 6 Squeeze (32-bit) geinstalleerd. Ik wil een aantal wordpress sites hosten met ongeveer 20 tot 250 bezoekers per dag.

Ik ben nog aan het leren maar heb nu zo ongeveer de volgende instellingen.
Heb je opmerkingen dan hoor ik ze graag!

Apache instellingen
Timeout 40
KeepAlive On
MaxKeepAliveRequests 200
KeepAliveTimeout 2

StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0

Apache modules
apache2-mpm-prefork en libapache2-mod-security2
-Ben nog aan het kijken welke standaard modules uit kunnen.

Mysql instellingen
skip-locking
skip-innodb
max_connections=400
max_user_connections=30
key_buffer=256M
myisam_sort_buffer_size=64M
join_buffer_size=1M
read_buffer_size=1M
sort_buffer_size=1M
table_cache=1500
thread_concurrency=1
thread_cache_size=128M
wait_timeout=10
connect_timeout=5
max_allowed_packet=16M
query_cache_limit=1M
query_cache_size=32M
query_cache_type=1

PHP extenties
php5-xcache php5-memcache php5-memcached

ccchosting
18/06/13, 20:47
Het optimaliseren hangt heel erg af van het type bezoekers. Er is niet te zeggen wat de beste oplossing voor een website.

Je zou bijvoorbeeld voor MySQL, MySQLtuner.pl kunnen draaien.
Let op dat je dit pas na een aantal dagen uptime doet, anders heeft het nog niet zoveel nut.

Post ook even de config van Memcache(d) hier kan je vaak ook nog het e.a. aan verbeteren.

PimEffting
18/06/13, 21:17
Ben je beginner, dan ben je wellicht beter af met een control panel.
Dat regelt voor jou al een hoop zaken waar jij daarna niet meer over na hoeft te denken.
Kijk eens naar Cpanel, DirectAdmin of Plesk. Voor een paar Euro per maand ben je klaar.

Overigens adviseer ik om 64-bit te gebruiken ipv 32-bit als je die mogelijkheid hebt.

Randy
18/06/13, 21:34
Ben je beginner, dan ben je wellicht beter af met een control panel.
Dat regelt voor jou al een hoop zaken waar jij daarna niet meer over na hoeft te denken.

Op een kale installatie na regelt dit he-le-maal niets voor je. Nog steeds moet je zelf je configuratie 'hard' bijwerken. De meeste controlpanels gaan dit niet voor je regelen of komen niet verder dan standaard instellingen.

@TS: Als je Wordpress sites slechts 25-250 bezoekers per dag hebben, waarom niet gewoon een shared (reseller)pakker?

mgielissen
18/06/13, 21:39
My 2 cents: als je redelijk wat bezoekers tegelijkertijd hebt en meerdere apache processen gestart worden, dan loop je de kans dat OpenVZ uit zijn geheugen loopt. Zeker als er geen swap memory toegekend.

Dan zou het beter kunnen zijn om NGINX icm php-fpm te gebruiken. Dan blijft je geheugengebruik binnen de perken bij meerdere bezoekers.

Nsly
19/06/13, 14:37
Het optimaliseren hangt heel erg af van het type bezoekers. Er is niet te zeggen wat de beste oplossing voor een website.

Je zou bijvoorbeeld voor MySQL, MySQLtuner.pl kunnen draaien.
Let op dat je dit pas na een aantal dagen uptime doet, anders heeft het nog niet zoveel nut.

Post ook even de config van Memcache(d) hier kan je vaak ook nog het e.a. aan verbeteren.
Begrijp ik, ben nu ook constant bezig met monitoren om te kijken of alles goed loopt. Een van de wp blogs ligt onder vuur (ddos op xmlrpc en brute force attacks op wp-login.php) lastig maar leerzame ervaring.

memcached heb ik nog even standaard gelaten
-d
-m 64
-p 11211
-u nobody
-l 127.0.0.1


Ben je beginner, dan ben je wellicht beter af met een control panel.
Dat regelt voor jou al een hoop zaken waar jij daarna niet meer over na hoeft te denken.
Kijk eens naar Cpanel, DirectAdmin of Plesk. Voor een paar Euro per maand ben je klaar.

Overigens adviseer ik om 64-bit te gebruiken ipv 32-bit als je die mogelijkheid hebt.
Ben wel een (gevorderde) beginner, maar alles loopt goed zonder control panel, en ik leer veel meer op deze manier.
Ik heb gekozen voor 32-bit om RAM te besparen. Overigens dacht ik dat 64bit niet veel zin heeft met 1024MB RAM, maar ik kan het mis hebben.



@TS: Als je Wordpress sites slechts 25-250 bezoekers per dag hebben, waarom niet gewoon een shared (reseller)pakker?
sommige blogs heb ik jaren op een reseller pakket gehost. Ik wilde ze al langer op een vps hosten om ze sneller te laten draaien, maar was terughoudend omdat ik bang was voor downtime. Ik ben nu een tijdje gaan testen op een goedkope low end vps en denk dat ik genoeg heb geleerd om een vps te onderhouden.


My 2 cents: als je redelijk wat bezoekers tegelijkertijd hebt en meerdere apache processen gestart worden, dan loop je de kans dat OpenVZ uit zijn geheugen loopt. Zeker als er geen swap memory toegekend.

Dan zou het beter kunnen zijn om NGINX icm php-fpm te gebruiken. Dan blijft je geheugengebruik binnen de perken bij meerdere bezoekers.
Ik heb nog 1024MB swap. Wel iets waar ik op moet letten maar ik heb liever alles gecached in RAM dan een te hoog CPU gebruik. Ik heb ook Nginx uitgeprobeerd, maar toen kreeg ik het probleem dat fcgi meer dan 20% CPU gebruikte. Het leek me beter om eerst apache onder de knie te krijgen.
--

volgende apache modules heb ik uitgezet:
auth_basic authn_file authz_default authz_groupfile authz_user autoindex negotiation cgi env status unique_id reqtimeout

Voor wordpress gebruik ik nog w3 total cache plugin, en heb alles ingesteld voor gebruik van xcache.

ccchosting
19/06/13, 15:38
Begrijp ik, ben nu ook constant bezig met monitoren om te kijken of alles goed loopt. Een van de wp blogs ligt onder vuur (ddos op xmlrpc en brute force attacks op wp-login.php) lastig maar leerzame ervaring.


Kan je dat niet afvangen met een .htaccess file?

Nsly
19/06/13, 16:17
Kan je dat niet afvangen met een .htaccess file?
Ik heb in het virtualhost bestand een regeltje RedirectMatch 403 /xmlrpc.php en een ip restrictie voor wp-login.php
de niet bestaande /administration/index.php en admin.php ook verboden.
en dan de IP adressen die constant xmlrpc.php aanvallen blokkeren met iptables :s

Kevin Bentlage
21/06/13, 17:18
Kijk eens naar de CSF firewall (werkt ook zonder control panel), heeft enorm veel opties voor het weren van aanvallen / brute forces en andere irritaties.

http://configserver.com/cp/csf.html

hostdeal
21/06/13, 19:32
CSF is zoals Kevin meldt een fantastische uitbreiding op de standaard iptables!

Active8
26/06/13, 13:00
CSF is zeker perfect, en daarna ook even de CSF security advise nalopen, altijd handig

V.w.b. de geheugen, ga je AV zoals Clamav draaien ? zo ja hou er rekening mee dat dit al rond de 200 mb afsnoept van je geheugen

Ik weet niet wie je VPS leverancier is maar als hij een optie aanbiedt om je CPU in de gaten te houden zou ik het zeker doen anders programma´s als cacti installeren, kijken of je genoeg aan 1 core heb

MySQl databas optimaliseren blijft moeilijk maar programma´s als MySQL Performance Tuning Primer Script (http://day32.com/MySQL/tuning-primer.sh) kunnen je aardig op weg helpen, zoals gezegd minimaal 48 uur laten draaien

Ik weet niet of je al een hostingpanel heb maar kijk is ook naar Zpanel , makkelijk en gratis en je hoeft na de standaard installatie van je OS alleen nog hun install programma te gebuiken , deze installeert apache, php, mysql mail enz (let er wel op dat je laatste security aanpassingen heb gedaan zie hun forum)

Nsly
15/07/13, 15:16
Bedankt voor de tips. ik heb CFS geinstalleerd en mijn leverancier heeft de numiptent waarde aangepast. Die aanval op wp heb ik afgeslagen:)

Ik blijf het toch zonder control panel doen want op deze manier leer ik meer. Ik gebruik nu SH scripts om dingen te installeren, heb er ook zelf een paar scripts geschreven. Ik ga nog wel naar cacti kijken want CPU gebruik, moet ik zeker goed in de gaten houden.

Ramon Fincken
15/07/13, 15:31
Login Lockdown al eens geinstalleerd?

cfmweb
15/07/13, 17:37
Login Lockdown al eens geinstalleerd?

Of de Limit Login Attempts plugin voor je WordPress: http://wordpress.org/plugins/limit-login-attempts/