ฉันจะวัดประสิทธิภาพของเซิร์ฟเวอร์เสมือนได้อย่างไร


11

ฉันมี VPS ที่ใช้งาน Ubuntu ในฐานะเซิร์ฟเวอร์เสมือนฉันเข้าใจว่ามันใช้ทรัพยากรร่วมกับเซิร์ฟเวอร์อื่นจำนวนไม่ทราบและฉันสังเกตเห็นว่ามันช้ากว่าเครื่องเดสก์ท็อปของฉันมาก

มีเครื่องมือในการวัดประสิทธิภาพของเครื่องเสมือนหรือไม่? ฉันอยากรู้ว่าจะเห็นการประมาณบางอย่างคล้ายโบกี้หรืออาจเป็นสำหรับ CPU (การทำงาน / วินาที) ความเร็วในการอ่าน / เขียนหน่วยความจำและดิสก์ ฉันต้องการเปรียบเทียบตัวเลขเหล่านี้กับเครื่องเดสก์ท็อปของฉัน

ฉันไม่สนใจรายละเอียดของเครื่องจักรจริงที่ VPS ของฉันกำลังใช้งาน - โดยcat /proc/cpuinfoฉันเห็นได้ว่ามันเป็นเครื่อง Xeon แบบ quad-core ที่ดี แต่มันไม่สำคัญสำหรับฉัน ฉันสนใจที่โปรแกรมจะทำงานใน VPS ของฉันได้เร็วเพียงใด - การทำงานของ CPU ที่สามารถทำได้ในหนึ่งวินาทีจำนวนไบต์ที่เขียนไปยัง RAM หรือดิสก์

ฉันมีสิทธิ์เข้าถึง ssh ของเครื่องเท่านั้นดังนั้นเครื่องมือจำเป็นต้องเป็นบรรทัดคำสั่ง

ฉันสามารถเขียนสคริปต์ที่ใช้การคำนวณบางอย่างในลูปเป็นครั้งที่สองและนับจำนวนลูปที่สามารถทำได้หรือสิ่งที่คล้ายกับการวัดประสิทธิภาพของดิสก์และแรม แต่ฉันแน่ใจว่าสิ่งนี้มีอยู่แล้ว

คำตอบ:


14

ก็เพราะว่าไม่มีใครอยากตอบ ... :)

การค้นหา Synaptic สำหรับ "bench" ค้นหาชุดการเปรียบเทียบจำนวนมากที่สามารถทดสอบด้านต่างๆของเครื่องได้ สิ่งเดียวที่ฉันเคยได้ยินมาก่อนหน้านี้คือphoronix-test-suiteซึ่งฉันแน่ใจว่าครอบคลุมมากถึงแม้ว่าความสนใจสั้น ๆ ของฉันไม่ได้ช่วยให้ฉันทราบวิธีการใช้งาน

จากนั้นฉันก็พบUnixBenchซึ่งอธิบายว่า

UnixBench เป็นชุดมาตรฐาน BYTE UNIX มาตรฐานที่ได้รับการปรับปรุงและแก้ไขโดยคนจำนวนมากในช่วงหลายปีที่ผ่านมา

จุดประสงค์ของ UnixBench คือเพื่อให้ตัวบ่งชี้พื้นฐานของการทำงานของระบบ Unix-like; ... ผลการทดสอบเหล่านี้จะถูกนำไปเปรียบเทียบกับคะแนนจากระบบพื้นฐานเพื่อสร้างค่าดัชนีซึ่งโดยทั่วไปจะจัดการได้ง่ายกว่าคะแนนดิบ

มีการจัดการระบบหลาย CPU ... การทดสอบเปรียบเทียบระบบ Unix โดยการเปรียบเทียบผลลัพธ์ของพวกเขากับชุดคะแนนที่กำหนดโดยการรันโค้ดบนระบบเบนช์มาร์กซึ่งเป็น SPARCstation 20-61 (จัดอันดับที่ 10.0)

Linode ได้กล่าวถึง UnixBench เป็นเครื่องมือสำหรับการทดสอบประสิทธิภาพ VM ในโพสต์บล็อกนี้ :

การใช้ฮาร์ดแวร์ที่เหมือนกัน KVM Linodes นั้นเร็วกว่า Xen มาก ตัวอย่างเช่นในการทดสอบ UnixBench ของเรา KVM Linode ให้คะแนน 3x ดีกว่า Xen Linode

ชุดทดสอบไม่ได้อยู่ในที่เก็บของ Ubuntu แต่เป็นเรื่องง่ายที่จะดาวน์โหลดและรวบรวม:

wget https://github.com/kdlucas/byte-unixbench/archive/master.zip
unzip ./master.zip
cd ./byte-unixbench-master/UnixBench
./Run

การทดสอบใช้เวลาสักครู่จึงจะเสร็จ ผลลัพธ์ดูเหมือนว่า

------------------------------------------------------------------------
Benchmark Run: Mon Oct 15 2012 23:55:22 - 00:23:16
4 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       12015218.4 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     2214.8 MWIPS (10.1 s, 7 samples)
Execl Throughput                                896.9 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks         58968.3 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           14578.6 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        422068.2 KBps  (30.0 s, 2 samples)
Pipe Throughput                               70993.3 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  16001.5 lps   (10.0 s, 7 samples)
Process Creation                               1861.8 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   2525.5 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    737.8 lpm   (60.1 s, 2 samples)
System Call Overhead                         432496.2 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   12015218.4   1029.6
Double-Precision Whetstone                       55.0       2214.8    402.7
Execl Throughput                                 43.0        896.9    208.6
File Copy 1024 bufsize 2000 maxblocks          3960.0      58968.3    148.9
File Copy 256 bufsize 500 maxblocks            1655.0      14578.6     88.1
File Copy 4096 bufsize 8000 maxblocks          5800.0     422068.2    727.7
Pipe Throughput                               12440.0      70993.3     57.1
Pipe-based Context Switching                   4000.0      16001.5     40.0
Process Creation                                126.0       1861.8    147.8
Shell Scripts (1 concurrent)                     42.4       2525.5    595.6
Shell Scripts (8 concurrent)                      6.0        737.8   1229.7
System Call Overhead                          15000.0     432496.2    288.3
                                                                   ========
System Benchmarks Index Score                                         249.7

------------------------------------------------------------------------
Benchmark Run: Tue Oct 16 2012 00:23:16 - 00:51:20
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables       42619039.2 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     8274.0 MWIPS (10.4 s, 7 samples)
Execl Throughput                               3398.5 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks         68332.4 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           21462.9 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        718205.6 KBps  (30.0 s, 2 samples)
Pipe Throughput                              149713.5 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  61968.3 lps   (10.0 s, 7 samples)
Process Creation                               5321.7 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   5957.1 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    812.6 lpm   (60.1 s, 2 samples)
System Call Overhead                        1557391.5 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   42619039.2   3652.0
Double-Precision Whetstone                       55.0       8274.0   1504.4
Execl Throughput                                 43.0       3398.5    790.4
File Copy 1024 bufsize 2000 maxblocks          3960.0      68332.4    172.6
File Copy 256 bufsize 500 maxblocks            1655.0      21462.9    129.7
File Copy 4096 bufsize 8000 maxblocks          5800.0     718205.6   1238.3
Pipe Throughput                               12440.0     149713.5    120.3
Pipe-based Context Switching                   4000.0      61968.3    154.9
Process Creation                                126.0       5321.7    422.4
Shell Scripts (1 concurrent)                     42.4       5957.1   1405.0
Shell Scripts (8 concurrent)                      6.0        812.6   1354.3
System Call Overhead                          15000.0    1557391.5   1038.3
                                                                   ========
System Benchmarks Index Score                                         592.5

ซึ่งหมายความว่า VPS ที่เป็นปัญหามีคะแนน249.7สำหรับงานเดี่ยวและ592.5สำหรับการประมวลผลแบบขนาน

เครื่องเดสก์ท็อปของฉันในขณะที่มีสเปคใกล้เคียงหรือต่ำกว่ากับเครื่องฟิสิคัล VPS ของฉันทำงานอยู่ผลิตคะแนน1409.7สำหรับงานเดี่ยวและ5156.3สำหรับการประมวลผลแบบขนาน ประเภทของการวัดที่ฉันกำลังมองหา

การวัดที่สำคัญอีกประการหนึ่งคือความเร็วเครือข่าย ฉันพบสคริปต์ที่ดาวน์โหลดไฟล์ทดสอบจากตำแหน่งต่างๆและวัดความเร็วในการดาวน์โหลด สคริปต์สามารถทำงานกับ

wget freevps.us/downloads/bench.sh -O - -o /dev/null|bash

(แม้ว่ามันอาจจะปลอดภัยกว่าในการดาวน์โหลดสคริปต์และตรวจสอบเนื้อหาก่อนที่จะรัน)

ในการตรวจสอบเวลาแฝงของดิสก์ I / O มีiopingยูทิลิตี้ที่สามารถติดตั้งได้จากที่เก็บ Ubuntu:

# ioping . -c 10
4096 bytes from . (ext4 /dev/disk/...): request=1 time=16.4 ms
4096 bytes from . (ext4 /dev/disk/...): request=2 time=16.1 ms
...

UnixBench อยู่ใน Github: github.com/kdlucas/byte-unixbench
m0j0

@ m0j0: ฉันได้แก้ไขคำตอบเพื่อสะท้อนว่าโฮสต์อยู่ที่ GitHub แล้วขอบคุณ
Sergey

2 คำสั่งเหล่านี้จะถูกแทนที่ด้วยเพียงwget https://github.com/kdlucas/byte-unixbench/archive/master.zip && unzip ./master.zip git clone https://github.com/kdlucas/byte-unixbench
Hi-Angel

0

ที่อาจเป็นไปไม่ได้ คุณไม่ได้ให้รายละเอียดใด ๆ ดังนั้นไม่มีใครสามารถให้คำตอบที่เฉพาะเจาะจงได้ แต่ไม่ใช่ทุก VPSes หมายถึงฮาร์ดแวร์เสมือน คุณมีโซลูชันที่แตกต่างกันทุกประเภทเช่น Linux Containers (LXC) ซึ่งแตกต่างอย่างสิ้นเชิงจากการส่งเครื่องเสมือนที่มีเฉพาะเจาะจง

จุดประสงค์เดียวของการแบ่งปันฮาร์ดแวร์คือการใช้ซ้ำ ในกรณีของคุณแม้ว่าคุณจะใช้ฮาร์ดแวร์แบบเสมือนจริงคุณไม่สามารถแน่ใจได้ว่าคุณเป็นคนเดียวที่จะใช้มัน หากคุณต้องการข้อมูลเกี่ยวกับการใช้งานฮาร์ดแวร์คุณควรได้รับเซิร์ฟเวอร์ทางกายภาพที่อยู่ร่วมแทน


อ่าฉันคิดว่าคุณเข้าใจฉันผิด - ฉันไม่ได้พูดถึงกลไกทางกายภาพ ฉันได้อัปเดตคำถามของฉันแล้ว
Sergey

ใช่ แต่ก็ยัง คอมพิวเตอร์อาจไม่เหมือนกันจากช่วงเวลาหนึ่งไปอีกช่วงเวลาหนึ่งดังนั้นค่าเฉลี่ยใด ๆ ก็ไร้ประโยชน์ ในช่วงเวลาหนึ่งอาจมีคอร์ CPU 16 คอร์และ RAM 32GB และที่อื่น ๆ 1 คอร์และ RAM 512MB ค่าเฉลี่ยอาจแย่มากหรือดีกว่าในทางทฤษฎีขึ้นอยู่กับว่าคุณคำนวณอย่างไร คุณสามารถรับข้อมูลจาก "ps ax", "top", "iotop" และ "uptime" แต่มันจะไม่คุ้มค่ามากนัก
Jo-Erlend Schinstad

2
ตกลงตัวอย่าง: ฉัน gzip ไฟล์ 1Gb บนเน็ตบุ๊กของฉันและวัดเวลาที่ใช้ในการทำงาน จากนั้นฉัน gzip ไฟล์เดียวกันบนเดสก์ท็อป - ปรากฎว่าเดสก์ท็อปของฉันทำได้เร็วกว่าเน็ตบุ๊ก 3 เท่าดังนั้นฉันจึงให้ "gzip ให้คะแนน" ที่ 100 และ 300 ตามลำดับ จากนั้นฉันบีบอัดไฟล์เดียวกันบน VPS และค้นหาพูดว่าในขณะที่ทำการทดสอบจะเร็วกว่าเน็ตบุ๊ก 1.5 เท่า แต่ก็ยังช้ากว่าเดสก์ท็อปถึง 2 เท่าดังนั้นมันจึงเป็น "gzip factor" ของ 150 ฉันสามารถประดิษฐ์ บางอย่างเช่นนี้เอง แต่การวัดประสิทธิภาพเป็นปัญหาทั่วไป
Sergey

ประสิทธิภาพการวัดนั้นดีตราบใดที่คุณรู้ว่าคอมพิวเตอร์เครื่องใดที่คุณกำลังวัดอยู่ ด้วย VPS คุณไม่จำเป็นต้องรู้ มันอาจถูกย้ายไปมาระหว่างคอมพิวเตอร์ที่แตกต่างกันโดยสิ้นเชิงโดยที่คุณไม่รู้ตัวประมวลผลอาจถูกเพิ่มและเอาออก RAM ที่เพิ่มและเอาออก ฯลฯ หรือ VPS อื่นเริ่มใช้ CPU จำนวนมากเป็นเวลา 25 วินาทีทำให้ VPS ของคุณช้าลง มีตัวแปรมากเกินไป
Jo-Erlend Schinstad

ดูเหมือนจะมีช่องสำหรับเครื่องมือตรวจสอบประสิทธิภาพ vps
justingrif
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.