ApacheBench

กลางๆ สัปดาห์ที่แล้วพี่ที่ทำงานย้ายเครื่องที่เก็บ Trac และทำใหม่ ตอนแรกก็รู้สึกว่าช้าเมื่อเทียบกับที่เคยทำ ลองเปลี่ยนวิธีดูให้เหมือนกันกลับช้ากว่าเก่า เข้ามาใน IRC ถามว่าเป็นเพราะอะไรกลับได้ของเล่นมาใหม่ชิ้นนึงคือ ab ตอนแรกก็งงว่ามันคืออะไร ลองเล่นดูถึงได้เข้าใจ ก็เลยเริ่มจาก Trac ที่คิดว่าเร็วก่อน ผลปรากฏว่า


This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking project.nytes.net (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests

Server Software:        Apache/2.2.9
Server Hostname:        project.nytes.net
Server Port:            80

Document Path:          /
Document Length:        6008 bytes

Concurrency Level:      100
Time taken for tests:   33.960 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      6455000 bytes
HTML transferred:       6008000 bytes
Requests per second:    29.45 [#/sec] (mean)
Time per request:       3395.973 [ms] (mean)
Time per request:       33.960 [ms] (mean, across all concurrent requests)
Transfer rate:          185.62 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0   10 253.0      0    7957
Processing:     0 3280 2846.3   2567   16780
Waiting:        0 3278 2846.7   2566   16779
Total:        134 3290 2846.9   2571   16780

Percentage of the requests served within a certain time (ms)
  50%   2571
  66%   3703
  75%   4661
  80%   5346
  90%   7370
  95%   9158
  98%  10729
  99%  13626
 100%  16780 (longest request)

ดูทั้งหมดแล้วสนใจอยู่ค่าเดียวคือ ค่าเฉลี่ยที่เว็บนี้รับได้คือประมาณ 30 requests ต่อวิ เหมือนเร็วนะแต่ลองเทียบกับเว็บอื่นในเครื่องมันกลับช้าลงไปเลยหละเพราะเว็บอื่นมันดันไปวิ่งๆ อยู่ที่ 400 – 500 requests ต่อวิ -_-! ว่าจะเทียบกับ redmine ด้วยแต่ขี้เกียจลงเพิ่มเลยไว้ก่อน

จริงๆ นี่เป็นเครื่องมือที่สองที่ได้เล่นไว้สำหรับทดสอบความสามารถของบริการต่างๆบนเซิร์ฟเวอร์ ตัวแรกคือ JMeter แต่อันนั้นจะทำงานต้องต้องมีจาวาในเครื่อง ก็เลยขี้เกียจลอง แต่ข้อดีของ JMeter คือมันทำอะไรได้เยอะกว่ามาก และสามารถแสดงกราฟให้เห็นได้ทันที แต่ ApacheBench หากอยากดูกราฟต้องให้เซฟมาเป็นไฟล์ แล้วเอามาดูอีกที และก็สามารถทดสอบได้เฉพาะ http/https เท่านั้น ถ้าไว้ทดสอบเว็บทั่วไปเท่านี้ก็คงเพียงพอแล้วมั้ง

About llun

Just a programmer

, ,