Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo.


Probleem
Ik heb een probleem met mijn apache op mijn server. Een tijd geleden wilde ik het tooltje Skipfish draaien, om beveiligingslekken te zoeken.

Toen kwam ik erachter dat ik slechts 10 requests per seconde haalde met deze test. Ik heb ook getest met het tooltje 'ab', en dit geeft hetzelfde resultaat.

Op zich geeft dit geen problemen, aangezien mijn server niet veel traffic te verwerken heeft. Maar toch wil ik dit zien te verbeteren.

Wat heb ik geprobeerd?
  • Ik heb vanaf de zelfde server (waarop apache staat) benchmarks uitgevoerd. Dus naar localhost.
  • Ik heb vanaf een computer thuis benchmarks uitgevoerd. (zelfde resultaat)
  • Ik heb geprobeerd om de database (postgresql) uit te schakelen (om te kijken of dit vertraging gaf).
  • Ik heb apache opnieuw gecompileerd met een worker MPM ipv prefork MPM. Ook heb ik PHP gecompileerd zodat het threadsafe is. Dit werkte ook niet, en ik heb het dus terug gedraaid. Maar nadat ik dit heb gedaan, haal ik een snelheid van 5 requests/seconde.
  • Ik heb de settings van de prefork mpm steeds veranderd, en vervolgens gebenchmarkt.
  • Ik heb alle apache modules die ik niet gebruik bij het opnieuw compileren weggelaten.
  • Ik heb de server gecontroleerd op SMART fouten/foute sectors/enz... (alles was in orde)
  • Zo'n beetje alles wat op deze pagina beschreven wordt.
Ik denk dat het aan PHP ligt. Want zodra ik een website benchmark met PHP is de score onder de 10 req/s, scan ik een pagina met enkel HTML, is het soms over de 1000.

Wat ik heb gemerkt, dat als ik zo'n benchmark uitvoer vanaf een computer thuis, en dan 'top' draai op mijn server, dat de CPU load tot rond de 90% schiet.


Is dit een acceptabele snelheid voor een PHP website?


Ik gebruik Zend Framework, wat bekend staat om zijn slechte performance, maar dan nog vind ik het een absurd lage snelheid, niet?

Systeem
Dell Poweredge
Pentium 4 2666.554Mhz
1GB PC-2100 registered DDR SDRAM
2x 73GB SCSI ULTRA320 (10, 000RPM) 1IN 68 PI
OS Ubuntu 9.10 Karmic
Geen zend optimizer

Dit is welliswaar een oude server, maar dan nog vind ik het absurd.

Is er iemand die kan vertellen of dit normaal is?

[ Voor 12% gewijzigd door Verwijderd op 23-06-2010 14:19 ]


Acties:
  • 0 Henk 'm!

  • s.stok
  • Registratie: Oktober 2009
  • Laatst online: 13-09 11:45

s.stok

Webdeveloper since 2003

Wat is de configuratie van PHP?
Zend Optimizer, etc..

Hoe staan de instellingen van Apache, Server hardware, besturingssysteem, disk-speed, etc..

"fouten verifieer je niet met een "; DROP DATABASE" commando. " Arnoud Engelfriet (Security.nl)


Acties:
  • 0 Henk 'm!

  • Arnout
  • Registratie: December 2000
  • Laatst online: 12-09 16:28
"een website benchmark met PHP"... tjah, dat kan dus van alles zijn. Hoe moeten wij bepalen of 10 rq/sec traag is?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Arnout schreef op woensdag 23 juni 2010 @ 13:46:
"een website benchmark met PHP"... tjah, dat kan dus van alles zijn. Hoe moeten wij bepalen of 10 rq/sec traag is?
Ja, wat wil je nog meer weten?

Ik gebruik dit commando:
ab -t 30 http://sander-h.nl/


Dus 30 seconden. Ik heb het ook geprobeerd met -c 10, maar dat haalt totaal niets uit qua snelheid.

@Sebas,

Ik heb het er even bij gezet

[ Voor 10% gewijzigd door Verwijderd op 23-06-2010 13:55 ]


Acties:
  • 0 Henk 'm!

  • Kees
  • Registratie: Juni 1999
  • Laatst online: 13-09 14:53

Kees

Serveradmin / BOFH / DoC
Je bent heel erg onduidelijk in je vraagstelling en details, Pentium 4 is er volgens mij van 1-4 ghz te vinden om maar iets te noemen, en hoeveel cores heeft die etc, etc. Dat is nogal van belang voor je -c parameter namelijk.

Anyway, als je een redelijk zware php pagina hebt (kun je snel zien als je even wat timing info in een script zet) dan is 10 req/s op zo'n server prima te noemen. PHP icm met Apache is gewoon erg zwaar, daarom gebruiken we hier bij tweakers.net ook zoveel dingen eromheen.

[ Voor 5% gewijzigd door Kees op 23-06-2010 14:04 ]

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Kees schreef op woensdag 23 juni 2010 @ 14:03:
Je bent heel erg onduidelijk in je vraagstelling en details, Pentium 4 is er volgens mij van 1-4 ghz te vinden om maar iets te noemen, en hoeveel cores heeft die etc, etc. Dat is nogal van belang voor je -c parameter namelijk.

Anyway, als je een redelijk zware php pagina hebt (kun je snel zien als je even wat timing info in een script zet) dan is 10 req/s op zo'n server prima te noemen. PHP icm met Apache is gewoon erg zwaar, daarom gebruiken we hier bij tweakers.net ook zoveel dingen eromheen.
Bedankt voor je reply.

Toch heb ik getracht om zo duidelijk mogelijk te zijn :?

Ik heb de informatie waar je om vroeg, met betrekking tot de CPU, even opgezocht:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 15
model           : 2
model name      : Intel(R) Pentium(R) 4 CPU 2.66GHz
stepping        : 9
cpu MHz         : 2666.554
cache size      : 512 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov patpse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe up pebs bts cid xtpr
bogomips        : 5333.10
clflush size    : 64
power management:


De snelheid is dus 2666.554Mhz. En voor zover ik kan zien heeft ie 1 core.

De pagina waar het om gaat is dus http://sander-h.nl.


Ook heb ik geprobeerd om de website te profilen door middel van zend_profiler en zend_debugger. Maar daar kon ik op geen enkele mogelijke manier verbinding mee maken. Dus dat is op niets uitgelopen.

Acties:
  • 0 Henk 'm!

  • Kees
  • Registratie: Juni 1999
  • Laatst online: 13-09 14:53

Kees

Serveradmin / BOFH / DoC
Voor die twee tools heb je voor zover ik weet Zend Studio nodig, maar dat kan ik mis hebben.

Anyway, je hebt maar 1 core, dus met -c2 zou je de hoogste performance moeten kunnen halen. Zorg ook dat je -k gebruikt. Verder is 10 requests/s voor zo'n server, met zo'n zware pagina, helemaal niet zo slecht. Vraag hem maar eens lokaal op, met bijvoorbeeld 'time php index.php'. Als ik hem hier download, dan doe ik er 0.172 seconden over. Ervan uitgaand dat er een deel overhead is, is de parsetime zo'n 0.1 seconde. Als je dan met 1 thread gaat zitten leuren, dan haal je.. 10 requests per seconde!

En dat is helemaal niet zo slecht voor zo'n server. PHP is gewoon redelijk zwaar. Even ter vergelijking, het duurde net 0,0648 s voordat ik de frontpage van tweakers te zien kreeg. Als wij ook op een single core server (in plaats van op 4x16 'cpu' servers) zouden draaien, dan zou ik dus 15 requests/seconde halen; op een site die zeer zwaar geoptimaliseerd is.

[ Voor 17% gewijzigd door Kees op 23-06-2010 15:28 ]

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


Acties:
  • 0 Henk 'm!

  • Wirf
  • Registratie: April 2000
  • Laatst online: 04-09 08:21
Ter vergelijking:

Op een Core2DUO@1.6 Ghz, 4 GB ram en Ubuntu 9.04:

Simpele pagina met zend framework:
Requests per second: 30.92 [#/sec] (mean)

Simpele GIF zonder zend:
Requests per second: 2772.02 [#/sec] (mean)

Dat een P4, single core dan 10 requests/sec. haalt, vind ik dus ook niet zo raar.

Heeft sinds kort zijn wachtwoord weer terug gevonden!


Acties:
  • 0 Henk 'm!

  • s.stok
  • Registratie: Oktober 2009
  • Laatst online: 13-09 11:45

s.stok

Webdeveloper since 2003

1 core en simulated core :) ( ht = Hyper Treading ).

Je hebt deze benchmark ook op mijn server uitgevoerd, maar ik heb wel een iets zwaarder systeem ;)
Ik ken Sander via de MSN

Mijn systeem is
Dell 860
Processors 2
Model Intel(R) Xeon(R) CPU 3050 @ 2.13GHz
Cache grootte 2.00 MB

2GB ram DDR2 (of drie 3)

En dat is dan nog op 'Ubuntu 6.06.2 LTS'

En ik gebruik geen Zend framework, voorpagina is vrijwel static.

[ Voor 7% gewijzigd door s.stok op 23-06-2010 16:00 ]

"fouten verifieer je niet met een "; DROP DATABASE" commando. " Arnoud Engelfriet (Security.nl)


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
@Iedereen,

Oke, bedankt :) Nu weet ik dat het een normale score is.

Mij werd verteld dat dit niet goed was door de maker van 'skipfish'. Die zei dat ik een veel hogere snelheid moest kunnen halen. Vandaar dat ik het ben gaan onderzoeken.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Kees schreef op woensdag 23 juni 2010 @ 15:23:
Voor die twee tools heb je voor zover ik weet Zend Studio nodig, maar dat kan ik mis hebben.

Anyway, je hebt maar 1 core, dus met -c2 zou je de hoogste performance moeten kunnen halen. Zorg ook dat je -k gebruikt. Verder is 10 requests/s voor zo'n server, met zo'n zware pagina, helemaal niet zo slecht. Vraag hem maar eens lokaal op, met bijvoorbeeld 'time php index.php'. Als ik hem hier download, dan doe ik er 0.172 seconden over. Ervan uitgaand dat er een deel overhead is, is de parsetime zo'n 0.1 seconde. Als je dan met 1 thread gaat zitten leuren, dan haal je.. 10 requests per seconde!

En dat is helemaal niet zo slecht voor zo'n server. PHP is gewoon redelijk zwaar. Even ter vergelijking, het duurde net 0,0648 s voordat ik de frontpage van tweakers te zien kreeg. Als wij ook op een single core server (in plaats van op 4x16 'cpu' servers) zouden draaien, dan zou ik dus 15 requests/seconde halen; op een site die zeer zwaar geoptimaliseerd is.
Ik heb even dat commando uitgevoerd, en ik krijg dit:

real 0m0.205s
user 0m0.184s
sys 0m0.008s

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben even bezig geweest om er toch nog zoveel mogelijk snelheid uit te persen. En nu gebruik ik mod_cache, en mod_disk_cache.

En er is geen request per seconde bij gekomen. Het blijft 5 req/seconde. Terwijl het eerder wel eens 11 req/seconde had. Dat is toch vreemd, of niet? :?

Acties:
  • 0 Henk 'm!

  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 11-09 21:28

CAPSLOCK2000

zie teletekst pagina 888

Verwijderd schreef op woensdag 23 juni 2010 @ 13:05:
Ik denk dat het aan PHP ligt. Want zodra ik een website benchmark met PHP is de score onder de 10 req/s, scan ik een pagina met enkel HTML, is het soms over de 1000.

Wat ik heb gemerkt, dat als ik zo'n benchmark uitvoer vanaf een computer thuis, en dan 'top' draai op mijn server, dat de CPU load tot rond de 90% schiet.


Is dit een acceptabele snelheid voor een PHP website?
Het klinkt als langzaam, maar het is maar moeilijk te zeggen zonder die PHP website te kennen.
Als die maar slecht genoeg geprogrammeerd is dan kan het heel erg langzaam worden.

This post is warranted for the full amount you paid me for it.

Pagina: 1