在CentOS中測試C++性能可從基準測試、性能分析、壓力測試三方面入手,常用工具及方法如下:
sysbench cpu
測試,如sysbench cpu --threads=4 --events=10000 --time=0 run
,時間越短性能越好。STREAM
工具:編譯后運行./stream_c.exe
,分析Copy、Scale等指標,數值越大性能越好。sysbench memory
:測試內存讀寫速度,如sysbench memory --memory-block-size=1m --memory-total-size=10g run
。fio
工具,例如測試隨機讀IOPS:fio --ioengine=libaio --rw=randread --bs=4k --filename=/tmp/testfile --runtime=60 --numjobs=1 --iodepth=1 --group_reporting
。perf record
記錄性能數據,perf report
生成報告,可查看函數耗時、緩存命中率等。perf script > perf.out
,再通過FlameGraph
工具生成可視化圖表。Valgrind
:用Callgrind
檢測函數調用耗時,Massif
分析內存使用情況。gprof
:編譯時加-pg
選項,運行后生成函數調用圖和時間統計。stress
工具,如stress -c 2
模擬2個CPU核心滿載,stress -vm 2 -vm-bytes 2000M
模擬2個線程分配2GB內存。fio
可模擬高并發讀寫,例如--iodepth=32 --numjobs=4
增加負載。多數工具可通過yum
安裝,如sysbench
、fio
、Valgrind
等;部分工具(如FlameGraph
)需手動下載編譯。
根據測試目標選擇合適工具,優先通過基準測試定位性能瓶頸,再結合分析工具優化代碼或系統配置。