Làm cách nào để đo hiệu suất của máy chủ ảo?


11

Tôi đã có một VPS chạy Ubuntu. Là một máy chủ ảo, tôi hiểu rằng nó chia sẻ tài nguyên với số lượng máy chủ khác không xác định và tôi nhận thấy rằng nó chậm hơn đáng kể so với máy tính để bàn của tôi.

Có một số công cụ để đo hiệu suất của máy ảo ? Tôi tò mò muốn xem một số biện pháp gần đúng tương tự như bogomips, có thể là cho CPU (hoạt động / giây), tốc độ đọc / ghi đĩa và bộ nhớ. Tôi muốn có thể so sánh những con số đó với máy tính để bàn của mình.

Tôi không quan tâm đến thông số kỹ thuật của máy vật lý thực tế mà VPS của tôi đang chạy - bằng cách đó cat /proc/cpuinfotôi có thể thấy rằng đó là một máy Xeon lõi tứ đẹp, nhưng nó không thành vấn đề với tôi. Về cơ bản, tôi quan tâm đến việc chương trình sẽ chạy nhanh như thế nào trong VPS của tôi - có bao nhiêu hoạt động CPU có thể thực hiện trong một giây, bao nhiêu byte để ghi vào RAM hoặc vào đĩa.

Tôi chỉ có quyền truy cập ssh vào máy nên công cụ cần phải là dòng lệnh.

Tôi có thể viết một kịch bản, giả sử, thực hiện một số tính toán trong một vòng lặp trong một giây và đếm xem có thể thực hiện bao nhiêu vòng lặp, hoặc một cái gì đó tương tự để đo hiệu suất của đĩa và RAM. Nhưng tôi chắc chắn một cái gì đó như thế này đã tồn tại.

Câu trả lời:


14

Chà, vì không ai muốn trả lời ... :)

Tìm kiếm Synaptic cho "băng ghế dự bị" tìm thấy rất nhiều bộ điểm chuẩn có khả năng kiểm tra các khía cạnh khác nhau của máy. Điều duy nhất tôi nghe được trước đây là phoronix-test-suite, điều mà tôi chắc chắn là rất toàn diện mặc dù khoảng chú ý ngắn của tôi không cho phép tôi tìm ra cách sử dụng nó.

Sau đó, tôi tìm thấy UnixBench , được mô tả là

UnixBench là bộ điểm chuẩn BYTE UNIX ban đầu, được cập nhật và sửa đổi bởi nhiều người trong những năm qua.

Mục đích của UnixBench là cung cấp một chỉ số cơ bản về hiệu năng của một hệ thống tương tự Unix; ... Những kết quả kiểm tra này sau đó được so sánh với điểm số từ hệ thống cơ sở để tạo ra giá trị chỉ số, thường dễ xử lý hơn so với điểm số thô.

Hệ thống nhiều CPU được xử lý. ... Các thử nghiệm so sánh các hệ thống Unix bằng cách so sánh kết quả của chúng với một bộ điểm số được thiết lập bằng cách chạy mã trên hệ thống điểm chuẩn, đó là SPARCstation 20-61 (đánh giá ở mức 10.0).

UnixBench được Linode nhắc đến như một công cụ để kiểm tra hiệu năng VM trong bài đăng trên blog này :

Sử dụng phần cứng giống hệt nhau, KVM Linodes nhanh hơn nhiều so với Xen. Ví dụ, trong thử nghiệm UnixBench của chúng tôi, KVM Linode đạt điểm gấp 3 lần so với Xen Linode.

Bộ kiểm tra KHÔNG có trong kho Ubuntu, nhưng việc tải xuống và biên dịch nó là chuyện nhỏ:

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

Các bài kiểm tra mất một lúc để hoàn thành. Đầu ra trông như

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

Điều đó có nghĩa là VPS trong câu hỏi có điểm số là 249,7 cho một nhiệm vụ và 592,5 cho xử lý song song.

Máy tính để bàn của tôi, trong khi có thông số kỹ thuật tương tự hoặc thấp hơn với máy vật lý mà VPS của tôi đang chạy, đã tạo ra số điểm 1409,7 cho tác vụ đơn và 5156.3 cho xử lý song song. Chính xác là loại số liệu tôi đang tìm kiếm.

Một số liệu quan trọng khác là tốc độ mạng. Tôi đã tìm thấy một tập lệnh tải xuống các tệp kiểm tra từ các vị trí khác nhau và đo tốc độ tải xuống. Kịch bản có thể được chạy với

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

(mặc dù có thể an toàn hơn để tải xuống tập lệnh và kiểm tra nội dung của nó trước khi chạy)

Để theo dõi độ trễ I / O của đĩa, có một iopingtiện ích có thể được cài đặt từ kho 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 hiện đã có trên Github: github.com/kdlucas/byte-unixbench
m0j0

@ m0j0: Tôi đã sửa đổi câu trả lời để phản ánh rằng nó được lưu trữ tại GitHub ngay bây giờ, cảm ơn
Sergey

2 lệnh wget https://github.com/kdlucas/byte-unixbench/archive/master.zip && unzip ./master.zipnày có thể được thay thế bằng chỉ git clone https://github.com/kdlucas/byte-unixbench.
Hi-Angel

0

Điều đó có thể không thể. Bạn không cung cấp bất kỳ chi tiết nào, vì vậy không ai có thể cung cấp câu trả lời cụ thể. Nhưng không phải tất cả các VPS đều có nghĩa là phần cứng ảo. Bạn có tất cả các loại giải pháp khác nhau, như Linux Container (LXC) khác hoàn toàn với việc điều khiển một máy ảo với một số chi tiết cụ thể.

Điểm duy nhất của việc chia sẻ phần cứng là sử dụng lại nó. Trong trường hợp của bạn, ngay cả khi bạn đang sử dụng phần cứng ảo hóa, bạn không thể chắc chắn bạn là người duy nhất sử dụng nó. Nếu bạn cần thông tin về việc sử dụng phần cứng, thì bạn nên lấy một máy chủ vật lý cùng vị trí thay thế.


Ahh, tôi nghĩ rằng bạn hiểu sai về tôi - Tôi không nói về cỗ máy vật lý cơ bản. Tôi đã cập nhật câu hỏi của mình.
Serge

Có, nhưng vẫn còn. Máy tính có thể không giống nhau từ lúc này đến lúc khác, vì vậy bất kỳ mức trung bình nào cũng vô dụng. Trong một khoảnh khắc, nó có thể có 16 lõi CPU và 32 GB RAM và trong lõi kia, RAM 1 lõi và 512 MB. Trung bình có thể rất kém hoặc tốt hơn so với lý thuyết, tùy thuộc vào thời điểm bạn tính toán. Bạn có thể nhận được một số dữ liệu từ "ps ax", "top", "iotop" và "uptime", nhưng nó sẽ không có giá trị nhiều.
Jo-Erlend Schinstad

2
Ok, một ví dụ: Tôi gzip tệp 1Gb trên netbook của mình và đo thời gian cần thiết để thực hiện tác vụ. Sau đó, tôi gzip cùng một tệp trên máy tính để bàn của mình - hóa ra máy tính để bàn của tôi làm nó nhanh hơn 3 lần so với netbook, vì vậy tôi cho chúng "xếp hạng gzip" lần lượt là 100 và 300. Sau đó, tôi nén cùng một tệp trên VPS và thấy rằng, tại thời điểm thử nghiệm, nó nhanh hơn 1,5 lần so với netbook nhưng vẫn chậm hơn 2 lần so với máy tính để bàn - vì vậy đó là "hệ số gzip" là 150. Tôi có thể nghĩ ra một cái gì đó giống như bản thân tôi, nhưng chắc chắn đo hiệu suất là một vấn đề phổ biến
Serge

Đo hiệu suất là tốt, miễn là bạn biết máy tính nào bạn đang đo. Với VPS, bạn không nhất thiết phải biết điều đó. Nó có thể được di chuyển giữa nhiều máy tính hoàn toàn khác nhau mà bạn không biết, bộ xử lý có thể được thêm và xóa, thêm và xóa RAM, v.v. Hoặc một VPS khác bắt đầu sử dụng nhiều CPU trong 25 giây, khiến VPS của bạn chậm hơn. Có quá nhiều biến số.
Jo-Erlend Schinstad

Âm thanh như có thể có một thích hợp cho một công cụ giám sát hiệu suất vps.
justingrif
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.