Pertanyaan Bagaimana saya mengukur kinerja server virtual?


Saya punya VPS yang menjalankan Ubuntu. Sebagai server virtual, saya mengerti bahwa ia berbagi sumber daya dengan nomor server lain yang tidak diketahui, dan saya menyadari bahwa itu jauh lebih lambat daripada komputer desktop saya.

Apakah ada alat untuk mengukur kinerja mesin virtual? Saya ingin tahu untuk melihat beberapa ukuran perkiraan yang mirip dengan bogomips, mungkin untuk CPU (operasi / detik), memori dan kecepatan baca / tulis disk. Saya ingin dapat membandingkan angka-angka itu ke mesin desktop saya.

Saya tidak tertarik dengan spesifikasi mesin fisik sebenarnya yang dijalankan oleh VPS saya - dengan melakukan cat /proc/cpuinfo Saya dapat melihat bahwa itu adalah mesin Xeon quad-core yang bagus, tetapi tidak masalah bagi saya. Saya pada dasarnya tertarik pada seberapa cepat sebuah program akan berjalan di VPS saya - berapa banyak operasi CPU yang dapat dibuat dalam hitungan detik, berapa banyak byte yang harus ditulis ke RAM atau ke disk.

Saya hanya memiliki akses ssh ke mesin sehingga alat harus menjadi baris perintah.

Saya dapat menulis skrip yang, katakanlah, melakukan beberapa perhitungan dalam satu putaran untuk kedua dan menghitung berapa banyak loop yang dapat dilakukan, atau sesuatu yang serupa dengan ukuran kinerja disk dan RAM. Tapi aku yakin hal seperti ini sudah ada.


10
2018-03-07 04:29


asal




Jawaban:


Yah, karena tidak ada yang mau menjawab ... :)

Pencarian Synaptic untuk "bench" menemukan banyak tolok ukur yang mampu menguji berbagai aspek dari sebuah mesin. Satu-satunya yang saya dengar sebelumnya adalah phoronix-test-suite, yang saya yakin sangat komprehensif meskipun rentang perhatian saya yang pendek tidak memungkinkan saya untuk mengetahui cara menggunakannya.

Kemudian saya temukan UnixBench, yang digambarkan sebagai

UnixBench adalah tolok ukur asli BYTE UNIX, diperbarui dan   direvisi oleh banyak orang selama bertahun-tahun.

Tujuan dari UnixBench adalah menyediakan indikator dasar dari   kinerja sistem mirip Unix; ... Hasil tes ini   kemudian dibandingkan dengan skor dari sistem baseline untuk menghasilkan   nilai indeks, yang umumnya lebih mudah ditangani daripada nilai mentah.

Sistem multi-CPU ditangani. ... Pengujian membandingkan sistem Unix dengan   membandingkan hasil mereka dengan sekumpulan skor yang ditetapkan dengan menjalankan kode   sistem patokan, yang merupakan SPARCstation 20-61 (diberi peringkat 10,0).

UnixBench disebutkan oleh Linode sebagai alat untuk pengujian kinerja VM di posting blog ini:

Menggunakan perangkat keras yang sama, KVM Linodes jauh lebih cepat dibandingkan dengan Xen.   Misalnya, dalam pengujian UnixBench kami, KVM Linode mencetak 3x lebih baik   dari Xen Linode.

Test suite TIDAK dalam repositori Ubuntu, tetapi sepele untuk mengunduh dan mengkompilasinya:

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

Tes membutuhkan waktu beberapa saat untuk selesai. Outputnya seperti

------------------------------------------------------------------------
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

Yang berarti bahwa VPS yang dimaksud memiliki skor 249,7 untuk tugas tunggal dan 592,5 untuk pemrosesan paralel.

Mesin desktop saya, sementara memiliki spesifikasi yang sama atau lebih rendah untuk mesin fisik yang dijalankan VPS saya, menghasilkan skor 1409.7 untuk tugas tunggal dan 5156,3 untuk pemrosesan paralel. Tepatnya jenis metrik yang saya cari.

Metrik penting lainnya adalah kecepatan jaringan. Saya telah menemukan a naskah yang mengunduh file uji dari lokasi yang berbeda dan mengukur kecepatan unduh. Skrip dapat dijalankan dengan

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

(meskipun mungkin akan lebih aman untuk mengunduh skrip dan memeriksa isinya sebelum berjalan)

Untuk memantau disk I / O ada latensi ioping utilitas yang dapat diinstal dari repositori 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
...

13
2017-10-16 05:01



UnixBench sekarang ada di Github: github.com/kdlucas/byte-unixbench - m0j0
@ m0j0: Saya telah memodifikasi jawaban untuk merefleksikan bahwa itu dihosting di GitHub sekarang, terima kasih - Sergey


Itu mungkin tidak mungkin. Anda tidak memberikan detail apa pun, jadi tidak ada yang dapat memberikan jawaban spesifik. Tetapi tidak semua VPS berarti perangkat keras virtual. Anda memiliki semua jenis solusi yang berbeda, seperti Linux Containers (LXC) yang sangat berbeda dari mengoyak mesin virtual dengan spesifikasi tertentu.

Satu-satunya titik berbagi perangkat keras adalah menggunakannya kembali. Dalam kasus Anda, bahkan jika Anda menggunakan perangkat keras virtual, Anda tidak dapat memastikan bahwa Anda satu-satunya yang menggunakannya. Jika Anda memerlukan informasi tentang penggunaan perangkat keras, maka Anda seharusnya mendapatkan server fisik yang ditempatkan bersama.


0
2018-03-07 04:43



Ahh, saya pikir Anda salah mengerti saya - saya tidak berbicara tentang mesin fisik yang mendasarinya. Saya telah memperbarui pertanyaan saya. - Sergey
Ya, tapi tetap saja. Komputer mungkin tidak sama dari satu saat ke saat yang lain, jadi rata-rata tidak ada gunanya. Dalam satu saat, ia mungkin memiliki 16 core CPU dan 32GB RAM dan yang lainnya, 1 core dan 512MB RAM. Rata-rata mungkin sangat miskin atau lebih baik daripada secara teoritis, tergantung kapan Anda menghitung. Anda bisa mendapatkan beberapa data dari "ps ax", "top", "iotop" dan "uptime", tetapi itu tidak akan bernilai banyak. - Jo-Erlend Schinstad
Ok, contoh: Saya gzip file 1Gb di netbook saya dan mengukur waktu yang diperlukan untuk melakukan tugas. Lalu saya gzip file yang sama di desktop saya - ternyata desktop saya melakukannya 3 kali lebih cepat daripada netbook, jadi saya memberi mereka "gzip rating" masing-masing 100 dan 300. Lalu saya mengompres file yang sama di VPS dan menemukan, katakanlah, bahwa pada saat tes itu 1,5 kali lebih cepat dari netbook tetapi masih 2 kali lebih lambat dari desktop - jadi itu "faktor gzip" 150. Saya bisa merancang sesuatu seperti ini sendiri, tetapi tentu saja mengukur kinerja adalah masalah umum - Sergey
Mengukur kinerja baik-baik saja, asalkan Anda tahu komputer mana yang Anda ukur. Dengan VPS, Anda tidak perlu tahu itu. Mungkin dipindahkan antara banyak komputer yang sama sekali berbeda tanpa sepengetahuan Anda, prosesor mungkin ditambahkan dan dihapus, RAM ditambahkan dan dihapus, dll. Atau VPS lain mulai menggunakan banyak CPU selama 25 detik, membuat VPS Anda lebih lambat. Terlalu banyak variabel. - Jo-Erlend Schinstad
Kedengarannya seperti mungkin ada ceruk untuk alat monitor kinerja vps. - justingrif