Windows Apache Requests Per Second
 
Jacky 8. dec 2012 02:47:10 Pridružen od:
22. apr 2012
73 objav
53 15 0
#1

Pozdravljeni,



Pred kratim sem se odločil da stestiram svoj domači spletni streznik ki laufa na optiki 100/100mbps na naslednjih specifikacijah:

AMD A6-3650 APU

DDR3 8GB 1600MHz

SSD 200gb (MySQL tudi laufa gor)

4x 1TB RAID 10 HDD's

Windows Server 2008 R2



Moji rezultati pa so naslednji,

Test na <?php echo "hello!"; ?> dobim okoli 5600 RPS

na spletni strani ki sem jo ustvaril pa le 100 RPS in glede na to da XDEBUG Profiler in pa PHPed pravita da je le 20ms časa potrebno za processiranje PHPja mi ne gre v glavo zakaj so rezultati tako slabi?



Recimo spletne strani kod partis imajo do 2000 RPS ampak nisem prepričan da so ravno multi server konfiguracije?



Kakor koli vsaj 200RPS pričakujem na takih specih, a mi lahko kdo pomaga prosim?

Mogoče je res tako velika razlika med linux/windows okoljem ?



P.S.: Aj nisem omenil test je bil opravljen na Apache X64 (2.4) MOD_PHP z PHP 5.4.9 X64 + APC.



LP!


všeč(0) ni všeč(0) spam(0)
 
technolog 8. dec 2012 08:15:53 Pridružen od:
14. nov 2011
598 objav
768 300 22
#2

20ms je 50 requestov na sekundo na jedro.



Tvoj proc ima 4 jedra, pa ravno prideš na 200. Razen če je to že všteto v tvojem benchmarku.


všeč(0) ni všeč(0) spam(0)
Z linuxom že 7 let. Pro web development.
 
Jacky 8. dec 2012 13:08:55 Pridružen od:
22. apr 2012
73 objav
53 15 0
#3

Oh? To pa je počasi. Torej če želim zvičat RPS moram optimizirat spletno stran še bolj, kar se mi zdi že maltene nemogoče, saj sesssion in pa mysql sta že skoraj 15ms na mojem strezniku :/.



Kolko je torej nekje Povprečen RPS na kaki bolši streznik?



In pa še zdaj se ne morem odločit za zamenjavo na linux saj imam eno zadevo ki bi jo nujno rabil laufat na windows okolju ker na linuxu ni dobene alternative zanjo. Torej bi moral laufat VPS znotraj :/


všeč(0) ni všeč(0) spam(0)
 
bostjan 8. dec 2012 14:36:55 Pridružen od:
31. jul 2008
643 objav
689 30 9
#4

Mi imamo Windows mašine ter php (no FTI je na linux mašini). Sam predlagam, da greš na IIS + php + wincache.



Sam sem imel izredne težave z APCjem na apacheju. PHP se je konstanto sesuval (in posledično sesul Apache). Prav tako sem imel težave z 5.4 verzijo tako, da je vse 5.3.



Kako lahko simpl testiraš sesuvanje:

1. napiši nek php, ki požre ves memory ( while (true) { $array[] = md5(time()); } )

2. odpri ta php hkrati v parih straneh (če dobiš še par kolegov ki hrati odpre bo še bolje)

3. poglej kakšne errorje dobiš. Pričakovano je da dobiš memory limit od PHPja, toda meni je včasih metalo drugačen error (res bodi pozoren ker errorja sta si podobna (toda nista ista).



Poglej v apache error log in php error log. Meni se v zgornem primeru pojavil nek zend error (imajo uporabniki kar pogoste težave s tem).



Sedaj na IIS + PHP 5.3 + wincache zadeva deluje zelo stabilno in celo hitreje kot z apachijem (cca. 25% več RPS).



Aja je pa IIS 8 na WIN 2012.


všeč(0) ni všeč(0) spam(0)
 
Jacky 8. dec 2012 15:31:31 Pridružen od:
22. apr 2012
73 objav
53 15 0
#5

Bom preveril za ta bug.



Moram pa rečt da sedaj sem pa zelo zadovoljen z svojo konfiguracijo saj sem po dolgem razmisleku prišel do zaključka da je DISK tisti ki mi vse skupaj zelo upočasnjuje (nevem zakaj :/ saj je SSD) in sem zadevo nastavil z apc.stat na 0. Torej za produkcijo da mi ne preglejuje vseh PHP datotek za modifikacijo datoteke (nevem če je to pravilen slovenski izraz). Sedaj pa imam naslednje rezultate:



1800 RPS na spletni strani, 7651 RPS na <?php echo "hello!"; ?>



Mislim da je to to kar sem iskal. Sicer sem tele rezultate dobil na I5 mašini z SSDjom ampak mislim da moj AMD ne bo kaj dosti slabši ko zadevo prenesem tja :)



P.S.: Drugače pa sam še nisem imel dobenih problemov z stabilnostjo PHP 5.4.9 + Apache + APC do sedaj, bom pa preveril. Sam si drugače vedno sam "prevajam" (compilam) php zase ker nikoli nisem imel dobrih izkušenj z prenesenimi.



P.P.S.: IIS mi nikoli ni bil všeč =/. Pa nekako sem navajen uporabljat .htaccess ki mi res olajša delo


všeč(0) ni všeč(0) spam(0)
 
Jacky 8. dec 2012 16:35:06 Pridružen od:
22. apr 2012
73 objav
53 15 0
#6

Evo sem sprobal memory bug pa ga sam nimam na apache X64 + PHP X64 5.4.9



Zgodilo se mi je, lol, da mi je Apache celi server freezno, ker je RAM usage šel na MAX. Vseh 8GB mi je pobralo. Zdaj glede na to da je blo 100 requestov na enkrat mislim da to ni ravno bug ? Ni se pa sesulo dokler nisem sam prekinil zadeve ker je šteknilo vse skupaj lol. Drugače pa ja ni se pa sesulo pa dobenih čudnih errorov ni bilo razen Fatal Error memory exhousted.


všeč(0) ni všeč(0) spam(0)
 
Mešetar 8. dec 2012 16:52:16 Pridružen od:
24. nov 2010
1543 objav
1945 962 114
#7

veliko je dejavnikov kako izboljsat odzivnost apache-a in PHPja...



kot je bostjan predlagal, kak php cache... izklopi pa nepotrebne module... tako v apachu kot v PHPju...



sicer pa apache nikakor ni biser pri rpcjih... kaksen Lighttpd ali nginx sta boljsa v vecini primerov


všeč(0) ni všeč(0) spam(0)
 
technolog 8. dec 2012 17:01:14 Pridružen od:
14. nov 2011
598 objav
768 300 22
#8

Pri nalaganju statičnih stvari (slike ipd...) sta boljša, pri PHP skriptah pa skoraj ni razlike.



Zagotovo pa windows nosi del krivde za počasnost.


všeč(0) ni všeč(0) spam(0)
Z linuxom že 7 let. Pro web development.
 
Jacky 8. dec 2012 18:04:13 Pridružen od:
22. apr 2012
73 objav
53 15 0
#9

za statične stvari me sploh ne ovira apache ker itak uporabljam CDN, ampak bolj me skrbi PHP. Nginx in pa LightHttp sta dejansko počasnejša od apache v nekaterih testih z PHPjem, tako da nista ravno biser za RPSje tud ne.



Tako da ja, ampak mja še vedno razmišljam ali bi preklopil na linux ali ne. Pač bomo videli, sedaj mi zadeva laufa kod sem hotel tako da nb =).




Mešetar:

veliko je dejavnikov kako izboljsat odzivnost apache-a in PHPja...



kot je bostjan predlagal, kak php cache... izklopi pa nepotrebne module... tako v apachu kot v PHPju...



sicer pa apache nikakor ni biser pri rpcjih... kaksen Lighttpd ali nginx sta boljsa v vecini primerov




Nimam dobenih nepotrebnih apache in pa php modulov/dodatkov.

Zgleda da nisi prebral o čem se gre. Glede na to da omenjaš PHP Cache za katerega sem lepo povedal da uporabljam APC (Advanced PHP Cache).


všeč(0) ni všeč(0) spam(0)
 
bostjan 8. dec 2012 23:14:41 Pridružen od:
31. jul 2008
643 objav
689 30 9
#10

Jacky to compilaš PHP na windows mašini? Če ti to uspe respect...sem se 2* lotil tko za kako urco pa nikol uspel :)



Zato mi X64 PHP nikol ni šel gor, ker so .dll-ji samo za 32. Pa še te je včasih težko najdit.


všeč(0) ni všeč(0) spam(0)
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se