Sanal sunucunun performansını nasıl ölçerim?


11

Ubuntu çalıştıran bir VPS'im var. Sanal bir sunucu olarak, bilinmeyen sayıda diğer sunucu ile kaynakları paylaştığını anlıyorum ve masaüstü bilgisayarımdan çok daha yavaş olduğunu fark ediyorum.

Sanal makinenin performansını ölçmek için bazı araçlar var mı ? Muhtemelen CPU (işlemler / sn), bellek ve disk okuma / yazma hızı için, bogomiplere benzer yaklaşık bir ölçüm görmeyi merak ediyorum. Bu sayıları masaüstü bilgisayarımla karşılaştırabilmek istiyorum.

VPS'imin çalıştığı gerçek fiziksel makinenin özellikleriyle ilgilenmiyorum - bunu yaparak cat /proc/cpuinfogüzel bir dört çekirdekli Xeon makinesi olduğunu görebiliyorum, ama benim için önemli değil. Temelde bir programın VPS'imde ne kadar hızlı çalışacağıyla ilgileniyorum - bir saniyede kaç CPU işlemi yapabileceği, RAM'e veya diske kaç bayt yazabileceği.

Makineye yalnızca ssh erişimim var, bu yüzden aracın komut satırı olması gerekiyor.

Diyelim ki, bir saniyede bir döngüde bazı hesaplamalar yapan ve kaç döngü yapabildiğini ya da disk ve RAM performansını ölçmeye benzer bir şey sayan bir komut dosyası yazabilirim. Ama eminim böyle bir şey zaten var.

Yanıtlar:


14

Kimse cevap vermek istemediğinden ... :)

Synaptic'i "bench" için aramak, bir makinenin farklı yönlerini test edebilen birçok kıyaslama paketi bulur. Daha önce duyduğum tek şey phoronix-test-suite, kısa dikkat süremin onu nasıl kullanacağımı anlamama izin vermese de çok kapsamlı olduğuna eminim.

Sonra UnixBench'i buldum .

UnixBench, yıllar içinde birçok kişi tarafından güncellenen ve revize edilen orijinal BYTE UNIX karşılaştırma paketidir.

UnixBench'in amacı, Unix benzeri bir sistemin performansının temel bir göstergesidir; ... Daha sonra bu test sonuçları bir hamle sisteminden alınan ve genellikle ham skorlardan daha kolay olan bir indeks değeri üretmek için skorlarla karşılaştırılır.

Çoklu CPU sistemleri ele alınır. ... Testler, sonuçları SPARCstation 20-61 (10.0 olarak derecelendirildi) olan bir karşılaştırma sistemi üzerinde çalıştırarak sonuçlarını bir dizi skorla karşılaştırarak Unix sistemlerini karşılaştırır.

UnixBench, Linode tarafından bu blog yazısında VM performans testi için bir araç olarak belirtilmiştir :

Aynı donanımı kullanan KVM Linodes, Xen'e kıyasla çok daha hızlıdır. Örneğin, UnixBench testimizde bir KVM Linode bir Xen Linode'dan 3 kat daha iyi skor aldı.

Test paketi Ubuntu depolarında DEĞİLDİR, ancak indirmek ve derlemek önemsizdir:

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

Testlerin tamamlanması biraz zaman alıyor. Çıktı şöyle görünüyor

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

Hangi söz konusu VPS bir puanı olduğunu araçlarının 249.7 tek görev için ve 592.5 paralel işleme için.

Masaüstü bilgisayarım, VPS'ımın çalıştığı fiziksel makineye benzer veya daha düşük özelliklere sahipken , tek görev için 1409.7 ve paralel işleme için 5156.3 puanı üretti . Tam olarak aradığım metrik türü.

Bir diğer önemli metrik ağ hızıdır. Farklı konumlardan test dosyalarını indiren ve indirme hızını ölçen bir komut dosyası buldum . Komut dosyası ile çalıştırılabilir

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

(komut dosyasını indirmek ve içeriğini çalıştırmadan önce incelemek daha güvenli olsa da)

Disk G / Ç gecikmesini izlemek için iopingUbuntu depolarından kurulabilen bir yardımcı program vardır:

# 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 artık Github'da
m0j0

@ m0j0: Cevabı şimdi GitHub'da barındırıldığını yansıtacak şekilde değiştirdim, teşekkürler
Sergey

Bu 2 komut wget https://github.com/kdlucas/byte-unixbench/archive/master.zip && unzip ./master.zipsadece ile değiştirilebilir git clone https://github.com/kdlucas/byte-unixbench.
Hi-Angel

0

Bu mümkün olmayabilir. Hiçbir ayrıntı vermiyorsunuz, böylece kimse belirli cevaplar veremez. Ancak tüm VPS'ler sanal donanım anlamına gelmez. Bir sanal makineyi belirli özelliklerle kiralamaktan kökten farklı olan Linux Kapsayıcılar (LXC) gibi her türlü farklı çözümünüz var.

Donanımı paylaşmanın tek amacı onu yeniden kullanmaktır. Sizin durumunuzda, sanallaştırılmış donanım kullanıyor olsanız bile, onu kullanacak tek kişi olduğunuzdan emin olamazsınız. Donanım kullanımı hakkında bilgiye ihtiyacınız varsa, bunun yerine ortak bir fiziksel sunucu almalısınız.


Ahh, sanırım beni yanlış anladın - altta yatan fiziksel makineden bahsetmiyorum. Sorumu güncelledim.
Sergey

Evet, ama yine de. Bilgisayar bir andan diğerine aynı olmayabilir, bu nedenle herhangi bir ortalama işe yaramaz. Bir anda 16 CPU çekirdeği ve 32GB RAM, diğerinde 1 çekirdekli ve 512MB RAM olabilir. Ortalama, hesapladığınız zamana bağlı olarak teorik olarak mümkün olandan çok daha kötü veya daha iyi olabilir. "Ps axe", "top", "iotop" ve "uptime" dan bazı veriler alabilirsiniz, ancak buna değmez.
Jo-Erlend Schinstad

2
Tamam, bir örnek: Netbook'umda bir 1Gb dosyası gzip ediyorum ve görevi gerçekleştirmek için gereken süreyi ölçüyorum. Sonra masaüstümde aynı dosyayı gzip - masaüstüm netbook 3 kat daha hızlı yapar, bu yüzden onlara sırasıyla 100 ve 300 "gzip derecesi" vermek. Sonra aynı dosyayı VPS üzerinde sıkıştırıyorum ve test sırasında netbook'tan 1.5 kat daha hızlı, ancak hala masaüstünden 2 kat daha yavaş olduğunu görüyorum - bu yüzden 150 "gzip faktörü". böyle bir şey, ama kesinlikle performansı ölçmek yaygın bir sorundur
Sergey

Hangi bilgisayarı ölçtüğünüzü bildiğiniz sürece ölçüm performansı iyidir. Bir VPS ile bunu bilmeniz gerekmez. Bilginiz olmadan tamamen farklı bilgisayarlar arasında taşınabilir, işlemciler eklenebilir ve çıkarılabilir, RAM eklenebilir ve çıkarılabilir vb. Veya başka bir VPS, 25 saniye boyunca çok sayıda CPU kullanmaya başlar ve VPS'nizi yavaşlatır. Çok fazla değişken var.
Jo-Erlend Schinstad

Bir vps performans izleme aracı için bir niş olabilir gibi görünüyor.
justingrif
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.