"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Eigene TPL engine Bench

Snoop 28.03.2003 - 13:33 504 5
Posts

Snoop

Here to stay
Registered: Jun 2002
Location: Gablitz
Posts: 1088
Ich habe mir gestern eine TPL engine geschrieben, die den anschein hat wirklich schnell zu sein, nur um sicher zu sein würde ich gerne meine Zeiten mit den eurigen vergleichen.

Bei mehr als tausend Datensätzen [1014] und einen absichtlich langsamen SELECT Befehl -> [ "SELECT * FROM news WHERE user = '96' ORDER BY id DESC LIMIT 0,15"] wobei die news mit user = 96 sehr rar sind bzw ziemlich verteilt hatte ich eine Rendertime von : 0.009766 Sec


Ich bitte um Vergleiche, damit ich meine Engine vielleicht noch optimieren kann :)

Guest

Deleted User
Registered: n/a
Location:
Posts: n/a
mit deiner Rendertime lieferst du nichts brauchbares um einen Vergleich anstellen zu können.

jives

And the science gets done
Avatar
Registered: Sep 2001
Location: Baden
Posts: 3548
Um sauber vergleichen zu können muss man imo immer die selben Zugriffe simulieren, nur eben mit anderen Engines.
Also einen irgendwelche kranken queries um die Performance der DB-CLass zu testen und Standardsachen um zu schaun wie sichs im Normalbetrieb verhält.
Interessant wärs aber schon :)

Snoop

Here to stay
Registered: Jun 2002
Location: Gablitz
Posts: 1088
Zitat von .deRElict.
mit deiner Rendertime lieferst du nichts brauchbares um einen Vergleich anstellen zu können.

mhm stimmt auch wieder irgendwie, da es ja auch serverabhängig ist, dass hab ich zuerst gar nicht überlegt, naja dann kann ich es halt nicht testen :( :) naja macht nix :)

Philipp

Here to stay
Registered: Jul 2001
Location: Wien
Posts: 1927
Ideal zum Benchmarken von Scripten ist Apache Bench, welches beim Apache Webserver dabei ist und Traffic simulieren kann.

Hier als Beispiel ein Shootout zwischen meinen CMS System vs. PHP Nuke:

[quote][root@msi logs]# ab -c 500 -t 30 http://localhost/phpnuke/
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.116 $> apache-2.0
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Finished 97 requests


Server Software: Apache/2.0.44
Server Hostname: localhost
Server Port: 80

Document Path: /phpnuke/
Document Length: 20688 bytes

Concurrency Level: 500
Time taken for tests: 30.520346 seconds
Complete requests: 97
Failed requests: 0
Write errors: 0
Non-2xx responses: 97
Total transferred: 2939244 bytes
HTML transferred: 2865800 bytes
Requests per second: 3.18 [#/sec] (mean)
Time per request: 157321.370 [ms] (mean)
Time per request: 314.643 [ms] (mean, across all concurrent requests)
Transfer rate: 94.04 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 31 312.5 0 3078
Processing: 12215 15860 2497.9 15447 18465
Waiting: 6183 12991 3786.5 15437 18441
Total: 12215 15891 2511.3 15447 18465

Percentage of the requests served within a certain time (ms)
50% 15447
66% 18464
75% 18465
80% 18465
90% 18465
95% 18465
98% 18465
99% 18465
100% 18465 (longest request)
[root@msi logs]# ab -c 500 -t 30 http://localhost/st/
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.116 $> apache-2.0
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Finished 792 requests


Server Software: Apache/2.0.44
Server Hostname: localhost
Server Port: 80

Document Path: /st/
Document Length: 53376 bytes

Concurrency Level: 500
Time taken for tests: 38.131096 seconds
Complete requests: 792
Failed requests: 0
Write errors: 0
Total transferred: 42533786 bytes
HTML transferred: 42380544 bytes
Requests per second: 20.77 [#/sec] (mean)
Time per request: 24072.662 [ms] (mean)
Time per request: 48.145 [ms] (mean, across all concurrent requests)
Transfer rate: 1089.29 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 28 308.3 0 4670
Processing: 9737 15330 3499.8 15632 22876
Waiting: 1851 8322 4531.4 7697 15644
Total: 9751 15359 3495.5 15632 22876

Percentage of the requests served within a certain time (ms)
50% 15632
66% 15679
75% 16970
80% 18634
90% 19967
95% 22749
98% 22875
99% 22876
100% 22876 (longest request)[/quote]

Zum Syntax: ab -c 500 -t 30 http://localhost/st/

Damit werden 500 gleichzeitige Anfragen an http://localhost/st/ 30 Sekunden lang geschickt. Ich würde nicht über 500 gehen, da der Server dann möglicherweise komplett überlastet und auf keine Anfrage mehr antwortet. Ebenfalls würde ich Apache Bench nicht auf echten (Produktiven) Webserver einsetzten da während des Benchmarks zweistelliger Serverload Werte erreicht werden können.

Beim Ergebnis gibt es zwei wichtige Werte:

1) Finished XXX requests
Zeigt an wieviel Anfragen innerhalb der 30 Sekunden beantwortet wurden

2) Requests per second: XX.XX [#/sec] (mean)
Zeigt die Anfragen pro Sekunden an.

Bei beiden Werten gilt, um so höher um so besser. Im großen und ganzen ist Apache Bench ein netter Stresstest für Script und Server ;)

Snoop

Here to stay
Registered: Jun 2002
Location: Gablitz
Posts: 1088
Passt danke, werd ich morgen mal probieren :)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz