มาดูกันว่า CPU execution time ของ Colocation Server, Virtual Private Server และ Cloud Virtual Machines มา benchmark กันจะเป็นอย่างไร

เอา Server ที่ใช้งานเอามาเทียบกันทั้งหมด 5 ตัวคือ

  • Dell PowerEdge 1425 – Intel Xeon 3.0 GHz Processor (64 Bit)
    ตัวนี้อายุเกือบๆ 6 ปีแล้ว แต่ยังทำงานได้ดีอยู่
  • Windows Azure Virtual Machines (VM) Extra Small (XS/S) – Virtual CPU 1Ghz Processor x 1 cores
    ตัวที่ให้บริการ blog นี้อยู่
  • VPS – Intel Virtual CPU 2.4Ghz x 2 cores
    เช่ามาใช้งานเฉพาะด้าน
  • Dell PowerEdge R410 – Intel Xeon E5620 2.40GHz Processor x 4 cores
    อายุใช้งานยังไม่ถึง 1 ปีดี
  • Dell PowerEdge R210 Server – Intel Xeon X3450 2.66Ghz Processor x 4 cores
    อายุใช้งานยังไม่ถึง 1 ปีดี

ตัวซอฟต์แวร์ที่ใช้ในการ benchmark คือ sysbench

คำสั่งที่ใช้คือ

sysbench --test=cpu --cpu-max-prime=20000 run

การรัน benchmark ใช้การทำงานเพียง 1 Thread เท่านั้น เพื่อทดสอบ process เพียงหน่วยประมวลผลเดียว เพื่อลดความได้เปรียบเสียเปรียบจาก CPU Core แต่เมื่อมี Core ของ CPU ที่มากก็สามารถรับโหลดได้เยอะขึ้นสำหรับซอฟต์แวร์ที่ทำงานแบบขนานได้

ผลการรันชุดคำสั่งทดสอบเป็นดังนี้

Server Info/CPU execution time
Dell PowerEdge 1425
– Intel Xeon 3.0 GHz Processor (64 Bit)
78.9891s
Windows Azure
Virtual Machines (VM) Extra Small (XS/S)
AMD Opteron Processor 4171 HE 2.1GHz
– Virtual CPU 1Ghz Processor x 1 cores
–  Shared Core
Virtual Machines (VM) Small (S)
– Virtual CPU 1Ghz Processor x 1 cores
– Reserved Core
45.9640s
(Shared Core – XS)

45.7989s
(Reserved Core – S)

VPS
– Intel Virtual CPU 2.4Ghz x 2 cores
36.1133s
Dell PowerEdge R410
– Intel Xeon E5620 2.40GHz Processor x 4 cores
27.3706s
Dell PowerEdge R210 Server
– Intel Xeon X3450 2.66Ghz Processor x 4 cores
24.5454s

* ตัวเลข execution time ยิ่งน้อยยิ่งเร็ว

จะเห็นได้ว่าความเร็วของการประมวลผลบน Windows Azure นั้นทำออกมาได้ดีกว่า Server เดี่ยวๆ เมื่อหลายปีก่อนพอสมควรเลย ลองตัดสินเอาเองว่าเราต้องการความเร็วในการประมวลผลเยอะเพียงใด และซอฟต์แวร์ที่ใช้เน้นการประมวลผลแบบขนานหรือไม่ ถ้าใช้การประมวลผลแบบขนาน เราสามารถเพิ่ม CPU Core บน VM ได้เรื่อยๆ ตามความต้องการเลยทีเดียว

ผลการทดสอบแบบละเอียด

Dell PowerEdge 1425
Intel Xeon Processor 3.0 GHz (64 Bit) x 1 cores

Maximum prime number checked in CPU test: 20000
Test execution summary:
total time:                          78.9891s
total number of events:              10000
total time taken by event execution: 78.9686
per-request statistics:
min:                                  5.72ms
avg:                                  7.90ms
max:                                 50.48ms
approx.  95 percentile:              14.34ms
Threads fairness:
events (avg/stddev):           10000.0000/0.00
execution time (avg/stddev):   78.9686/0.00

Windows Azure Virtual Machines (VM) Extra Small (XS/S)
AMD Opteron(tm) Processor 4171 HE 2.1GHz
Virtual CPU 1Ghz x 1 cores

Shared Core – XS
Maximum prime number checked in CPU test: 20000
Test execution summary:
total time:                          45.9640s
total number of events:              10000
total time taken by event execution: 45.9519
per-request statistics:
min:                                  4.42ms
avg:                                  4.60ms
max:                                 24.06ms
approx.  95 percentile:               4.68ms
Threads fairness:
events (avg/stddev):           10000.0000/0.00
execution time (avg/stddev):   45.9519/0.00

Reserved Core – S
Maximum prime number checked in CPU test: 20000
Test execution summary:
total time:                          45.7989s
total number of events:              10000
total time taken by event execution: 45.7871
per-request statistics:
min:                                  4.23ms
avg:                                  4.58ms
max:                                 21.47ms
approx.  95 percentile:               4.72ms
Threads fairness:
events (avg/stddev):           10000.0000/0.00
execution time (avg/stddev):   45.7871/0.00

 

My Private Client VPS
CPU Intel Virtual CPU 2.4Ghz x 2 cores

Maximum prime number checked in CPU test: 20000
Test execution summary:
total time:                          36.1133s
total number of events:              10000
total time taken by event execution: 36.1074
per-request statistics:
min:                                  3.00ms
avg:                                  3.61ms
max:                                 16.57ms
approx.  95 percentile:               4.22ms
Threads fairness:
events (avg/stddev):           10000.0000/0.00
execution time (avg/stddev):   36.1074/0.00

Dell PowerEdge R410
Intel(R) Xeon(R) E5620 2.40GHz

Maximum prime number checked in CPU test: 20000
Test execution summary:
total time:                          27.3706s
total number of events:              10000
total time taken by event execution: 27.3697
per-request statistics:
min:                                  2.69ms
avg:                                  2.74ms
max:                                  5.32ms
approx.  95 percentile:               2.77ms
Threads fairness:
events (avg/stddev):           10000.0000/0.00
execution time (avg/stddev):   27.3697/0.00

Dell PowerEdge R210 Server
Intel Xeon X3450 Processor

Maximum prime number checked in CPU test: 20000
Test execution summary:
total time:                          24.5454s
total number of events:              10000
total time taken by event execution: 24.5444
per-request statistics:
min:                                  2.45ms
avg:                                  2.45ms
max:                                  3.64ms
approx.  95 percentile:               2.45ms
Threads fairness:
events (avg/stddev):           10000.0000/0.00
execution time (avg/stddev):   24.5444/0.00