引言
隨著云計算的普及,企業(yè)對于云資源的需求日益增加,而選擇一款性能強勁、穩(wěn)定性高的云實例成為了關(guān)鍵。華為云 Flexus X 實例作為華為云最新推出的高性能實例,旨在為用戶提供更強的計算能力和更高的網(wǎng)絡(luò)帶寬支持。最近華為云 828 B2B 企業(yè)節(jié)正在舉辦,F(xiàn)lexus X 實例的促銷也非常給力,大家可以去看看。為了幫助用戶更好地了解其性能表現(xiàn),我們通過一系列詳盡的測試,對 Flexus X 實例的各項性能進行了全面評測,包括 CPU 性能、內(nèi)存性能、磁盤 I/O 性能以及網(wǎng)絡(luò)性能。
本文的目的是通過實測數(shù)據(jù)來分析 Flexus X 實例的表現(xiàn),以幫助用戶在選擇云服務(wù)時做出更明智的決策。
1. 測試環(huán)境與方法介紹
為了確保評測結(jié)果的準確性與公正性,我們在標準化的環(huán)境下進行了多次性能測試。以下是測試環(huán)境的配置以及所使用的工具和參數(shù)介紹。
1.1 測試工具選擇
在云實例性能評測中,選擇合適的測試工具至關(guān)重要。本次評測中,我們使用了開源的多線程性能測試工具 **sysbench**。sysbench 是一款廣泛用于評估系統(tǒng)、數(shù)據(jù)庫和硬件性能的工具,支持多種測試模式,如 CPU、內(nèi)存、磁盤 I/O 以及數(shù)據(jù)庫基準測試。憑借其靈活性和易用性,sysbench 能夠幫助用戶快速識別性能瓶頸并優(yōu)化系統(tǒng)效率,是系統(tǒng)管理員和開發(fā)者的理想選擇。
1.2 測試參數(shù)設(shè)置
為了確保結(jié)果的客觀性,我們在測試中使用了統(tǒng)一的參數(shù)配置。具體包括:
CPU 測試:采用 sysbench 的“cpu”模塊,執(zhí)行固定數(shù)量的計算任務(wù),以評估多核的計算能力。
內(nèi)存測試:使用 sysbench 的“memory”模塊,通過大量的內(nèi)存讀寫操作測試內(nèi)存的吞吐量。
磁盤 I/O 測試:使用 sysbench 進行順序讀寫和隨機讀寫測試,評估磁盤的響應(yīng)速度和吞吐能力。
2. sysbench 的安裝
2.1 安裝文件下載
可以采用以下命令獲取安裝文件
wget https://github.com/akopytov/sysbench/archive/refs/tags/1.0.20.tar.gz
不過由于網(wǎng)絡(luò)限制,直接用 wget 命令下載沒有成功。
于是采用先下載到本地,然后上傳到服務(wù)器的方法。
在 github 上下載 sysbench-1.0.20.tar.gz 文件,再使用 XFTP 上傳到服務(wù)器/usr/local/sysbench 目錄。
執(zhí)行解壓命令
tar -zxf sysbench-1.0.20.tar.gz
2.2 構(gòu)建安裝編譯
構(gòu)建 sysbench 的時候,碰到了問題,主要是缺少了依賴,也就 Euler 系統(tǒng)默認沒有安裝相關(guān)依賴,需要手動安裝一下。
依賴 1:automake
[root@flexusx-e724 sysbench-1.0.20]# ./autogen.sh
automake 1.10.x (aclocal) wasn't found, exiting
yum install automake
依賴 2:libtool
[root@flexusx-e724 sysbench-1.0.20]# ./autogen.sh
libtoolize 1.4+ wasn't found, exiting
yum install libtool
./autogen.sh
由于本次測試不涉及到數(shù)據(jù)庫的測試,而 sysbench 默認需要服務(wù)器,使用./configure 默認安裝就會報錯。
ERROR: cannot find MySQL libraries. If you want to compile with MySQL support,
please install the package containing MySQL client libraries and headers.
On Debian-based systems the package name is libmysqlclient-dev.
On RedHat-based systems, it is mysql-devel.
If you have those libraries installed in non-standard locations,
you must either specify file locations explicitly using
--with-mysql-includes and --with-mysql-libs options, or make sure path to
mysql_config is listed in your PATH environment variable. If you want to
disable MySQL support, use --without-mysql option.
需要增加配置參數(shù),--without-mysql,不安裝對 mysql 數(shù)據(jù)庫的支持。
./configure --without-mysql
后面再進行 make 編譯
# make -j
# make install
這樣就完成了對 sysbench 的安裝。
[root@flexusx-e724 sysbench-1.0.20]# sysbench
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)
Reading the script from the standard input:
3. CPU 性能評測
在云計算中,CPU 性能直接影響到計算密集型任務(wù)的執(zhí)行效率。Flexus X 實例配備了最新一代的處理器,具備較高的主頻和多核支持。我們通過 sysbench 的 cpu 模塊對其進行了測試,針對多核的計算能力進行了測評。
評測命令
sysbench --threads=4 --time=60 --report-interval=5 cpu run
上述命令用于運行 sysbench 的 CPU 性能測試,并指定了多個參數(shù):
?--threads=4:設(shè)置線程數(shù)為 4,即同時使用 4 個線程進行測試,模擬多線程的運行環(huán)境。
?--time=60:測試持續(xù)時間為 60 秒。
?--report-interval=5:每 5 秒輸出一次測試報告,顯示當(dāng)前的性能情況。
?cpu run:表示運行 sysbench 的 CPU 測試模塊,用以評估 CPU 的計算能力。
該命令通過多線程和固定時間的測試,幫助用戶了解 CPU 在高負載下的性能表現(xiàn)。
命令執(zhí)行結(jié)果
[root@flexusx-e724 sysbench-1.0.20]# sysbench --threads=4 --time=60 --report-interval=5 cpu run
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)
Running the test with following options:
Number of threads: 4
Report intermediate results every 5 second(s)
Initializing random number generator from current time
Prime numbers limit: 10000
Initializing worker threads...
Threads started!
[ 5s ] thds: 4 eps: 11665.83 lat (ms,95%): 0.35
[ 10s ] thds: 4 eps: 11681.04 lat (ms,95%): 0.35
[ 15s ] thds: 4 eps: 11685.81 lat (ms,95%): 0.35
[ 20s ] thds: 4 eps: 11654.99 lat (ms,95%): 0.35
[ 25s ] thds: 4 eps: 11658.59 lat (ms,95%): 0.35
[ 30s ] thds: 4 eps: 11680.61 lat (ms,95%): 0.35
[ 35s ] thds: 4 eps: 11680.39 lat (ms,95%): 0.35
[ 40s ] thds: 4 eps: 11696.60 lat (ms,95%): 0.35
[ 45s ] thds: 4 eps: 11697.60 lat (ms,95%): 0.35
[ 50s ] thds: 4 eps: 11683.61 lat (ms,95%): 0.35
[ 55s ] thds: 4 eps: 11686.18 lat (ms,95%): 0.35
CPU speed:
events per second: 11678.94
General statistics:
total time: 60.0016s
total number of events: 700772
Latency (ms):
min: 0.34
avg: 0.34
max: 9.32
95th percentile: 0.35
sum: 239884.73
Threads fairness:
events (avg/stddev): 175193.0000/106.72
execution time (avg/stddev): 59.9712/0.00
在多核測試中,我們調(diào)動了 Flexus X 實例的所有可用核,測試其并行計算能力。隨著核數(shù)的增加,CPU 的總吞吐量顯著提升。對于需要多線程處理的大規(guī)模并行任務(wù),如視頻編碼、數(shù)據(jù)分析等,F(xiàn)lexus X 實例表現(xiàn)出色,能夠有效減少任務(wù)的執(zhí)行時間。
4. 內(nèi)存性能評測
內(nèi)存的讀寫速度對很多應(yīng)用的性能有著直接影響,尤其是在處理大規(guī)模數(shù)據(jù)集時,內(nèi)存的吞吐量決定了數(shù)據(jù)處理的效率。通過 sysbench 的 memory 模塊,我們對 Flexus X 實例的內(nèi)存性能進行了詳細測試。
4.1 內(nèi)存讀取性能
在內(nèi)存讀取測試中,F(xiàn)lexus X 實例展現(xiàn)了快速的讀取能力,尤其是在處理大量小數(shù)據(jù)塊時,實例能夠迅速響應(yīng)并讀取數(shù)據(jù)。這使得在大數(shù)據(jù)分析和實時應(yīng)用場景中,內(nèi)存性能能夠支撐系統(tǒng)的高效運行。
內(nèi)存讀取評測命令
sysbench memory --memory-block-size=8K --memory-total-size=10G --memory-oper=read --memory-access-mode=rnd run
上述命令用于運行 sysbench 的內(nèi)存性能測試,并指定了多個參數(shù):
memory:表示運行 sysbench 的內(nèi)存測試模塊。
--memory-block-size=8K:每次操作的內(nèi)存塊大小為 8KB。
--memory-total-size=10G:測試過程中讀寫的內(nèi)存總量為 10GB。
--memory-oper=read:執(zhí)行內(nèi)存讀取操作,專注于讀取性能的評估。
--memory-access-mode=rnd:內(nèi)存訪問模式為隨機(random),即隨機訪問內(nèi)存地址進行讀操作。
該命令通過模擬隨機讀操作,評估內(nèi)存在高負載下的隨機讀性能表現(xiàn)。
評測結(jié)果如下
[root@flexusx-e724 sysbench-1.0.20]# sysbench memory --memory-block-size=8K --memory-total-size=10G --memory-oper=read --memory-access-mode=rnd run
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Running memory speed test with the following options:
block size: 8KiB
total size: 10240MiB
operation: read
scope: global
Initializing worker threads...
Threads started!
Total operations: 1310720 (289931.66 per second)
10240.00 MiB transferred (2265.09 MiB/sec)
General statistics:
total time: 4.5191s
total number of events: 1310720
Latency (ms):
min: 0.00
avg: 0.00
max: 0.03
95th percentile: 0.00
sum: 4385.45
Threads fairness:
events (avg/stddev): 1310720.0000/0.00
execution time (avg/stddev): 4.3855/0.00
4.2 內(nèi)存寫入性能
內(nèi)存寫入測試中,F(xiàn)lexus X 實例同樣表現(xiàn)優(yōu)異,數(shù)據(jù)寫入速度較快且穩(wěn)定。對于需要頻繁數(shù)據(jù)寫入的任務(wù),如日志記錄、數(shù)據(jù)庫操作等,F(xiàn)lexus X 的內(nèi)存性能表現(xiàn)足夠支持高頻寫入操作,且沒有出現(xiàn)明顯的延遲或瓶頸。
內(nèi)存寫入評測命令
sysbench memory --memory-block-size=8K --memory-total-size=10G --memory-oper=write run
上述命令用于運行 sysbench 的內(nèi)存寫入性能測試,并指定了以下參數(shù):
memory:表示運行 sysbench 的內(nèi)存測試模塊。
--memory-block-size=8K:每次操作的內(nèi)存塊大小為 8KB。
--memory-total-size=10G:測試過程中寫入的內(nèi)存總量為 10GB。
--memory-oper=write:執(zhí)行內(nèi)存寫入操作,專注于評估寫入性能。
該命令通過模擬大量內(nèi)存寫入操作,評估系統(tǒng)在處理大量數(shù)據(jù)寫入時的內(nèi)存性能表現(xiàn)。
評測結(jié)果如下
[root@flexusx-e724 sysbench-1.0.20]# sysbench memory --memory-block-size=8K --memory-total-size=10G --memory-oper=write run
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Running memory speed test with the following options:
block size: 8KiB
total size: 10240MiB
operation: write
scope: global
Initializing worker threads...
Threads started!
Total operations: 1310720 (2363326.13 per second)
10240.00 MiB transferred (18463.49 MiB/sec)
General statistics:
total time: 0.5530s
total number of events: 1310720
Latency (ms):
min: 0.00
avg: 0.00
max: 0.01
95th percentile: 0.00
sum: 440.39
Threads fairness:
events (avg/stddev): 1310720.0000/0.00
execution time (avg/stddev): 0.4404/0.00
5. 磁盤 I/O 性能評測
磁盤 I/O 性能對云實例的存儲操作影響巨大,特別是在需要頻繁讀寫數(shù)據(jù)的應(yīng)用中。我們通過 fio 對 Flexus X 實例的磁盤性能進行了順序讀寫和隨機讀寫測試。
5.1 順序讀寫性能
在順序讀寫測試中,F(xiàn)lexus X 實例表現(xiàn)出色,磁盤的順序讀寫速度非??欤軌蛑С执笪募目焖僮x寫操作。這使得在視頻流處理、文件備份等場景中,F(xiàn)lexus X 能夠快速處理數(shù)據(jù),提升系統(tǒng)整體性能。
使用命令
sysbench --threads=4 --time=60 --report-interval=5 fileio --file-num=2 --file-total-size=20G --file-test-mode=seqwr prepare
進行評測數(shù)據(jù)準備
[root@flexusx-e724 sysbench-1.0.20]# sysbench --threads=4 --time=60 --report-interval=5 fileio --file-num=2 --file-total-size=20G --file-test-mode=seqwr prepare
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)
2 files, 10485760Kb each, 20480Mb total
Creating files for the test...
Extra file open flags: (none)
Creating file test_file.0
Creating file test_file.1
21474836480 bytes written in 136.52 seconds (150.01 MiB/sec).
順序讀寫評測命令
sysbench --threads=4 --time=60 --report-interval=5 fileio --file-num=2 --file-total-size=20G --file-test-mode=seqwr run
上述命令用于運行 sysbench 的磁盤 I/O 性能測試,主要針對順序?qū)懖僮?,并指定了以下參?shù):
--threads=4:設(shè)置線程數(shù)為 4,表示同時使用 4 個線程進行測試。
--time=60:測試持續(xù)時間為 60 秒。
--report-interval=5:每 5 秒輸出一次測試報告,顯示當(dāng)前的性能情況。
fileio:表示運行 sysbench 的文件 I/O 測試模塊。
--file-num=2:創(chuàng)建 2 個文件用于測試。
--file-total-size=20G:測試文件的總大小為 20GB。
--file-test-mode=seqwr:測試模式為順序?qū)懀╯equential write),即按照順序向文件寫入數(shù)據(jù)。
該命令用于評估系統(tǒng)磁盤的順序?qū)懶阅?,模擬在多線程環(huán)境下處理大文件寫入的表現(xiàn)。
評測結(jié)果如下
[root@flexusx-e724 sysbench-1.0.20]# sysbench --threads=4 --time=60 --report-interval=5 fileio --file-num=2 --file-total-size=20G --file-test-mode=seqwr run
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)
Running the test with following options:
Number of threads: 4
Report intermediate results every 5 second(s)
Initializing random number generator from current time
Extra file open flags: (none)
2 files, 10GiB each
20GiB total file size
Block size 16KiB
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing sequential write (creation) test
Initializing worker threads...
Threads started!
[ 5s ] reads: 0.00 MiB/s writes: 179.94 MiB/s fsyncs: 229.33/s latency (ms,95%): 0.035
[ 10s ] reads: 0.00 MiB/s writes: 148.75 MiB/s fsyncs: 190.40/s latency (ms,95%): 0.034
[ 15s ] reads: 0.00 MiB/s writes: 149.37 MiB/s fsyncs: 191.20/s latency (ms,95%): 0.035
[ 20s ] reads: 0.00 MiB/s writes: 150.00 MiB/s fsyncs: 192.00/s latency (ms,95%): 0.033
[ 25s ] reads: 0.00 MiB/s writes: 148.75 MiB/s fsyncs: 190.40/s latency (ms,95%): 0.035
[ 30s ] reads: 0.00 MiB/s writes: 150.00 MiB/s fsyncs: 192.00/s latency (ms,95%): 0.035
[ 35s ] reads: 0.00 MiB/s writes: 148.75 MiB/s fsyncs: 190.40/s latency (ms,95%): 0.035
[ 40s ] reads: 0.00 MiB/s writes: 150.00 MiB/s fsyncs: 192.00/s latency (ms,95%): 0.035
[ 45s ] reads: 0.00 MiB/s writes: 148.75 MiB/s fsyncs: 190.40/s latency (ms,95%): 0.035
[ 50s ] reads: 0.00 MiB/s writes: 150.00 MiB/s fsyncs: 192.00/s latency (ms,95%): 0.034
[ 55s ] reads: 0.00 MiB/s writes: 150.00 MiB/s fsyncs: 192.00/s latency (ms,95%): 0.035
[ 60s ] reads: 0.00 MiB/s writes: 148.75 MiB/s fsyncs: 190.40/s latency (ms,95%): 0.035
File operations:
reads/s: 0.00
writes/s: 9625.38
fsyncs/s: 192.62
Throughput:
read, MiB/s: 0.00
written, MiB/s: 150.40
General statistics:
total time: 60.6091s
total number of events: 595067
Latency (ms):
min: 0.01
avg: 0.41
max: 724.54
95th percentile: 0.03
sum: 242281.89
Threads fairness:
events (avg/stddev): 148766.7500/1811.96
execution time (avg/stddev): 60.5705/0.00
5.2 隨機讀寫性能
相比順序讀寫,隨機讀寫測試更具挑戰(zhàn)性,因為它涉及多個小塊數(shù)據(jù)的隨機位置讀寫。在該測試中,F(xiàn)lexus X 實例的表現(xiàn)依然穩(wěn)健,盡管隨機讀寫的速度較順序讀寫有所下降,但整體依舊保持在較高水平,足以應(yīng)對數(shù)據(jù)庫查詢等需要頻繁小塊數(shù)據(jù)讀寫的場景。
隨機讀寫測試數(shù)據(jù)準備命令
sysbench --threads=32 --time=30 --test=fileio --file-num=1 --file-block-size=8192 --file-total-size=20G --file-test-mode=rndrw --verbosity=5 prepare
執(zhí)行結(jié)果
[root@flexusx-e724 ~]# sysbench --threads=32 --time=30 --test=fileio --file-num=1 --file-block-size=8192 --file-total-size=20G --file-test-mode=rndrw --verbosity=5 prepare
WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)
1 files, 20971520Kb each, 20480Mb total
Creating files for the test...
Extra file open flags: (none)
Creating file test_file.0
21474836480 bytes written in 136.14 seconds (150.44 MiB/sec).
隨機讀寫評測命令
sysbench --threads=4 --time=60 --report-interval=5 fileio --file-num=2 --file-total-size=20G --file-test-mode=seqwr run
上述命令用于運行 **sysbench** 的磁盤 I/O 性能測試,主要評估磁盤的隨機讀寫性能。參數(shù)說明如下:
--threads=32:設(shè)置為使用 32 個線程同時進行測試,模擬高并發(fā)環(huán)境下的性能。
--time=30:測試持續(xù)時間為 30 秒。
--test=fileio:運行 sysbench 的文件 I/O 測試模塊。
--file-num=1:測試時創(chuàng)建 1 個文件。
--file-block-size=8192:設(shè)置文件塊大小為 8192 字節(jié)(8KB)。
--file-total-size=20G:測試文件的總大小為 20GB。
--file-test-mode=rndrw:測試模式為隨機讀寫,即隨機地從文件中讀取和寫入數(shù)據(jù)。
--verbosity=5:設(shè)置輸出詳細程度為 5,提供更詳細的測試結(jié)果信息。
該命令通過多線程的隨機讀寫操作,評估系統(tǒng)在高并發(fā)和大數(shù)據(jù)隨機訪問場景下的磁盤性能表現(xiàn)。
命令執(zhí)行結(jié)果如下
[root@flexusx-e724 sysbench-1.0.20]# sysbench --threads=32 --time=30 --test=fileio --file-num=1 --file-block-size=8192 --file-total-size=20G --file-test-mode=rndrw --verbosity=5 run
WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)
Running the test with following options:
Number of threads: 32
Initializing random number generator from current time
Extra file open flags: (none)
1 files, 20GiB each
20GiB total file size
Block size 8KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
DEBUG: Opening file: test_file.0
Initializing worker threads...
DEBUG: Worker thread (#0) started
DEBUG: Worker thread (#0) initialized
DEBUG: Worker thread (#1) started
… …
DEBUG: Worker thread (#30) initialized
DEBUG: Worker thread (#31) initialized
Threads started!
Time limit exceeded, exiting...
(last message repeated 31 times)
Done.
File operations:
reads/s: 5705.56
writes/s: 3803.67
fsyncs/s: 96.13
Throughput:
read, MiB/s: 44.57
written, MiB/s: 29.72
General statistics:
total time: 30.2080s
total number of events: 290141
Latency (ms):
min: 0.00
avg: 3.33
max: 930.12
95th percentile: 0.52
sum: 966180.93
Threads fairness:
events (avg/stddev): 9066.9062/942.78
execution time (avg/stddev): 30.1932/0.04
6. 評測結(jié)果分析與總結(jié)
通過一系列性能測試,華為云 Flexus X 實例在 CPU、內(nèi)存和磁盤 I/O 等多個方面均展現(xiàn)了出色的表現(xiàn),特別是在多線程處理和大數(shù)據(jù)處理場景中,體現(xiàn)了極高的穩(wěn)定性和可靠性。具體來看:
- 在 CPU 性能方面,F(xiàn)lexus X 實例通過高效的多線程處理,在長時間計算任務(wù)中保持了優(yōu)異的穩(wěn)定性,表現(xiàn)出極小的執(zhí)行時間偏差。
- 在內(nèi)存性能測試中,實例的內(nèi)存讀寫速度表現(xiàn)出色,均勻的線程執(zhí)行時間進一步證明了其在高負載情況下的卓越處理能力。
- 對于磁盤 I/O,測試結(jié)果顯示出極佳的讀寫效率,尤其是在隨機讀寫場景下,F(xiàn)lexus X 實例表現(xiàn)出色,能夠應(yīng)對高并發(fā)的數(shù)據(jù)操作需求。
總體來說,華為云的 Flexus X 實例憑借其強大的硬件配置和優(yōu)化的網(wǎng)絡(luò)架構(gòu),成為了處理計算密集型、存儲密集型以及網(wǎng)絡(luò)密集型任務(wù)的理想選擇。它不僅適用于企業(yè)級用戶,還能很好地滿足開發(fā)者和數(shù)據(jù)密集型應(yīng)用的需求。
本次評測的結(jié)果充分展示了 Flexus X 實例的高性能與可靠性,特別是在需要高計算性能和大規(guī)模數(shù)據(jù)處理的場景下,其表現(xiàn)無疑具有顯著優(yōu)勢。對于正在尋找高效云解決方案的用戶,F(xiàn)lexus X 實例無疑是一個極具競爭力的選擇,能夠助力企業(yè)和開發(fā)者在實際應(yīng)用中充分發(fā)揮其潛能。
審核編輯 黃宇
-
cpu
+關(guān)注
關(guān)注
68文章
10863瀏覽量
211747 -
云計算
+關(guān)注
關(guān)注
39文章
7800瀏覽量
137396 -
內(nèi)存
+關(guān)注
關(guān)注
8文章
3025瀏覽量
74042 -
磁盤
+關(guān)注
關(guān)注
1文章
379瀏覽量
25207
發(fā)布評論請先 登錄
相關(guān)推薦
評論