Podesavanje Stabilnog VPSa

Evo ovak. Ja pokusavam stabilizirati svoj VPS server ali mi neide. Sve izgleda dobro no onda najednom VPS pocne jesti swap a Ram je slobodan. Pa onda vise nema swapa pa pojede ram u nekoliko minuta i killa mi MYSQL bazu. Problem nije u MYSQL bazi jer sam je podesio preko mysqltunera i stavio da trosi 1.4gb maksimalno no ona trosi oko 800mb.

E sad, apache sam podesio na 100 konekcija i mislim da sam tu vise manje sve dobro podesio. Podesio sam i eaccelerator. NO nije mi jasno podesavanje php.inia.

Tamo imam opciju dati svakom websiteu memoriju, i sad ako sam ja potrosio 1.4max na MYSQL i na apache nesto, koliko imam memorije da podjelim siteovima?

To bas ne kuzim…

Kako se izvršava PHP? (CGI,FCGI,mod_php)
Koja varijanta Apacha? (worker, prefork etc.)

Šta kaže “top” ? (Sortiraj po %MEM stupcu silazno i postaj, iz toga će sve biti jasno.)

PHP mod mi je zeznut. Koristim i FCGI i neznam kako sam poceo koristiti FPM.

prefork MPM

StartServers 2 MinSpareServers 2 MaxSpareServers 3 ServerLimit 100 MaxClients 100 MaxRequestsPerChild 1400

TOP cu baciti sutra kad se malo masina zagrije, sad je sve unutar granica jer sam restartao servere.

Ako zaista koristiš prefork (što je samo po sebi upitan izbor) ja bih probao sa ovim brojevima, mislim da su tvoji previsoki:

StartServers 2 MinSpareServers 3 MaxSpareServers 3 ServerLimit 30 MaxClients 30 MaxRequestsPerChild 1000

Najvažniji je MaxClients, ako njega pomnožiš s prosječnom memorijom po apache procesu, dobit ćeš ukupnu memoriju koju Apache može potrošiti.
Recimo, ako jedan klijent troši 50Mb, onda je to 30*50=1500, odnosno 1.5GB

Imao sam maxclients na 60 pa sam dobio error da podignem max clients. No imam VPS 2GBRAM +2GB SWap 2 Core

Ne znam dovoljno o tome što je na serveru i zašto 60 nije dovoljno.

60 klijenata na relativno optimiranim tipičnim sajtovima (znači da je page speed score visok) znači da svake sekunde ima više od 12 upita (otvaranja stranica, ne hitova na fajlove, njih ima debelo preko 60/s). S nekakvom normalnom dnevnom distribucijom, to je oko 120.000 jedinstvenih pageviewova dnevno, odnosno 3.000.000 otvorenih stranica mjesečno, odnosno prometu oko 1TB.

Ali ako nisi ni blizu ovom brojevima, problem nećeš riječiti ni u konfiguraciji apachea ni u konfiguraciji php-a.

Nego kako? Nisam ni blizu tim brojkama. Imam wordpress stranice i 3 smf fruma.

Teško mi je reći, može biti puno stvari, ali definitivno tražiš na krivome mjestu.
Prvo onemogući keep-alive, ako je upaljen.
Drugo, sve što kaže pagespeed, dakle cache-control, gzip…
Cilj ovoga je da konekcije traju što kraće.

Treće, na WP-u koristi caching, ne znam kako ide sa SMF. Time se, opet, smanjuje vrijeme otvorenih konekcija.

Kada je sve “brzo”, probaj koliko treba da se stranica očita (ne prva, neka iduća), ako je ispod sekudne, onda (ako baš hoćeš) upali keep_alive, ali limitiraj na sekundu. Ako je do dvije sekunde, limitiraj na dvije. Sve preko toga je previše.

Inače, na serverima s jednim ili nekoliko webova koje ja kontroliram ne koristim Apache. Ja volim Cherokee, ima web administraciju i daleko je brži od Apachea za serviranje fajlova, a za PHP ide preko FCGI. NginX je još (malo) brži i ima više opcija od Apachea, ali je kofiguracija malo … treba se navinuti.

Nginx može biti i front server u kombinaciji sa Apacheom. Uz dobru konfiguraciju, fajlovi idu preko NginX-a, dakle to je daleko brže nego preko Apachea, a ostalo NginX samo forwarda Apache, pa je sigurnost ista kao na Apacheu.

BTW, a da napišeš adresu sajta, možda bi pomoglo?

Teško mi je reći, može biti puno stvari, ali definitivno tražiš na krivome mjestu.
Prvo onemogući keep-alive, ako je upaljen.
Drugo, sve što kaže pagespeed, dakle cache-control, gzip…
Cilj ovoga je da konekcije traju što kraće.

Treće, na WP-u koristi caching, ne znam kako ide sa SMF. Time se, opet, smanjuje vrijeme otvorenih konekcija.

Kada je sve “brzo”, probaj koliko treba da se stranica očita (ne prva, neka iduća), ako je ispod sekudne, onda (ako baš hoćeš) upali keep_alive, ali limitiraj na sekundu. Ako je do dvije sekunde, limitiraj na dvije. Sve preko toga je previše.

Inače, na serverima s jednim ili nekoliko webova koje ja kontroliram ne koristim Apache. Ja volim Cherokee, ima web administraciju i daleko je brži od Apachea za serviranje fajlova, a za PHP ide preko FCGI. NginX je još (malo) brži i ima više opcija od Apachea, ali je kofiguracija malo … treba se navinuti.

Nginx može biti i front server u kombinaciji sa Apacheom. Uz dobru konfiguraciju, fajlovi idu preko NginX-a, dakle to je daleko brže nego preko Apachea, a ostalo NginX samo forwarda Apache, pa je sigurnost ista kao na Apacheu.

BTW, a da napišeš adresu sajta, možda bi pomoglo?

“Više opcija od Cherokeeja … ne od Apachea, lapsus.”

Drugo, sve što kaže pagespeed, dakle cache-control, gzip…

Sto ovo znaci?

Da stavio sma keepalive off ali sam vratio na keepalive on jer onda kad je off trosim oko 400 RAMA a imam 2GB. Jel bolje sa off?
Inace stranica kad se otvori pcoetna na sljedece se prelazi jako brzo mislim da je ispod sekunde, ponekad cak nisi siguran dali je uopce otvorilo stranicu ili sto, tako je brzo ucita.

Mozda su me rusili feed scraperi jer su mi radili CPU load, strasno nesto…
Sad sam vec 2 s+dana bez greske u memoriji, vidjet cemo dokle ce.
Hvala

P.s. a jel psotoji ancin da me nekako obavjesti na mobitel server da je mysql server pao ili da su stranice off?

actions Enabled
alias Enabled
asis Disabled
auth_basic Enabled
auth_digest Enabled
auth_mysql Disabled
authn_alias Disabled
authn_anon Disabled
authn_dbd Disabled
authn_dbm Disabled
authn_default Disabled
authn_file Enabled
authnz_ldap Disabled
authz_dbm Disabled
authz_default Disabled
authz_groupfile Disabled
authz_host Enabled
authz_owner Disabled
authz_svn Disabled
authz_user Disabled
autoindex Enabled
cache Enabled
cern_meta Disabled
cgi Disabled
cgid Disabled
charset_lite Disabled
dav Enabled
dav_fs Enabled
dav_lock Disabled
dav_svn Enabled
dbd Disabled
deflate Enabled
dir Enabled
disk_cache Disabled
dump_io Disabled
env Enabled
expires Enabled
ext_filter Disabled

	Module    	Current state   
fcgid 	Enabled
file_cache 	Enabled
filter 	Disabled
headers 	Enabled
ident 	Disabled
imagemap 	Disabled
include 	Disabled
info 	Disabled
ldap 	Disabled
log_forensic 	Disabled
mem_cache 	Disabled
mime 	Enabled
mime_magic 	Disabled
negotiation 	Enabled
php5 	Enabled
proxy 	Disabled
proxy_ajp 	Disabled
proxy_balancer 	Disabled
proxy_connect 	Disabled
proxy_ftp 	Disabled
proxy_http 	Disabled
proxy_scgi 	Disabled
reqtimeout 	Enabled
rewrite 	Enabled
ruby 	Enabled
setenvif 	Enabled
speling 	Disabled
ssl 	Enabled
status 	Enabled
substitute 	Disabled
suexec 	Enabled
unique_id 	Disabled
userdir 	Disabled
usertrack 	Disabled
version 	Disabled
vhost_alias 	Disabled

Ajd mi reci koji module mi treba a koji mogu iskljuciti. Onak na oko mi se cini da mi ruby ne treba? Imam wordpress i smf forum. Ne koristim mail server pa mi mozda ne treba to?
Ajd please ako netko zna nek si uzme 5 minuta i predlozi mi koje od ovih enablanih modulea mogu ugasiti da spasim apache memoriju.

Pomoglo je gasenje mod_php i sad radim u FCGI i FPM samo.
Evo pogledajte moj TOP i Free -m pa mi dajte neke sugestije gdje bih mogao dodati memorije (mozda da koristim vise apache konekicja ili mysql?)
No title :: lpaste — Lambda pastebin Moji processi i memorija i komande koje koristi
E sad tu me zanima, pise kworker (pa me zanima da nije to onda worker mod Apachea? A ja sam mislio da koristim perfok? Kako da budem 100% siguran koji mod koristim? Isprobao sma one nacine sa googlea li svi kazu da to samo govori koje modove imam a ne i koji koristim.

No title :: lpaste — Lambda pastebin free -m
E sdad jel to dobro da ne torsim bas toliko memorije?

I jel vazno to sto se mi desava graceful restart svakih 12 sati?

Podesavao sam fcgi.conf i podesio ga ovako:

AddHandler fcgid-script .fcgi
FcgidConnectTimeout 20
FcgidIdleTimeout 40
FcgidProcessLifeTime 30
FcgidMaxProcesses 40
FcgidMaxProcessesPerClass 40
FcgidMinProcessesPerClass 0
FcgidConnectTimeout 30
FcgidIOTimeout 120

Pa sad mi dajte savjete, thanks

Odeš u aptitude (debian, ubuntu) ili yum (ostali) i pogedaš što je instalirano, ili je worker ili je prefork.
Memorija je ok. FCGI nisam doma.

mem_cache vs. file_cache zna biti zanimljiva dilema, ali zapravo ako ti je sada sve ok, onda ne diraj.

Generalno je pravilo da ne popravljaš kada radi.

Glavno je pitanje za koga je server. Uglavnom, ako uzmeš barebone linux i instaliraš samo ono što ti treba, to će letiti, ali nemaš cpanel i slične stvari. Ako koristiš cpanel ili plesk, nabolje je ne prčkati puno jer su defaulti ugavnom ok.

Ja sam instalirao webmin/virtualmin i imam ukljuceno samo apache, mysql, SSH i pureftp. Tak da sad najednom sve leti… neznam ni sam kako, valjda sam na slijepo pogodio neke postavke.

Uglavnom, ajd mi reci kako da to pogledam u ubuntu. Imam ubuntu server.

[quote=“dadaas”]Ja sam instalirao webmin/virtualmin i imam ukljuceno samo apache, mysql, SSH i pureftp. Tak da sad najednom sve leti… neznam ni sam kako, valjda sam na slijepo pogodio neke postavke.

Uglavnom, ajd mi reci kako da to pogledam u ubuntu. Imam ubuntu server.[/quote]

kad si postavljao virtualmin onda si odabrao balans i servise koji ti trebaju pa ti je sam virtualmin podesio masinu na neki optimalan rad…

Da ali je sfalsao mnogo. Nije radilo kak treba. Tek kad sam ja sad instalirao eaccelerator i podesio da sve ide preko fcgia a mod_php obrisao tek sad radi kak treba. Ajd ak imas vremena odgovri na ona neka moja noob pitanja o graceful restartu, dali je ok ako imam toliko free memorije i ako imam viska puno dali da povecam maxconnections u apacheu ili mysqlu i kako da optimiziram fcgi

sorry, ne koristim apache vec jedno 2,5 godine i sretan sam s tim, tako da ti tu ne mogu pomoci…

sudo aptitude
(ako nemaš sudo apt-get install aptitude)
pa sa “/” startaš pretragu, upišeš “^apache”, s “n” je next, oni sa “i” (bold) su instalirani paketi.
Ali ne razumijem koji problem rješavamo, višak memorije je ok.
Jedino što se može napraviti je koristiti mem_cache, a ako sajtovi imaju opciju keširanja u memoriji, onda i to upališ, ako treba instaliraš memcached.

Drugo je pitanje je li Apache pravi izbor web servera. Apache je velik, težak, kompleksan i generalno najopćenitije rješenje. Ali troši puno resursa. Cherokee ili Nginx su daleko brži za servisiranje statičnih fajlova (što je velika većina zahtjeva). No, čini mi se da za tvoje potrebe je sada sve OK.