正文
背景
最近公司购买了一台服务器, 要进行一次性能测试.
基于此, 我这边进行了一下超线程与否的测试验证
使用stress-ng的命令,对所有的 CPU 方法进行测试
然后只分析 bogo ops/s 进行简要分析
测试结果
for i in ackermann apery bitops callfunc cdouble cfloat clongdouble collatz correlate crc16 decimal32 decimal64 decimal128 dither div8 div16 div32 div64 div128 double euler explog factorial fibonacci fft fletcher16 float float80 float128 floatconversion gamma gcd gray hamming hanoi hyperbolic idct int128 int64 int32 int16 int8 int128float int128double int128longdouble int128decimal32 int128decimal64 int128decimal128 int64float int64double int64longdouble int32float int32double int32longdouble intconversion ipv4checksum jmp lfsr32 ln2 logmap longdouble loop matrixprod nsqrt omega parity phi pi prime psi queens rand rand48 rgb sieve stats sqrt trig union zeta ;
do
echo $i ;
./stress-ng-amd --cpu 1 --cpu-method $i -t 10s --metrics-brief ;
./stress-ng-amd --cpu 0 --cpu-method $i -t 10s --metrics-brief ;
done
打印出算法来
for i in ackermann apery bitops callfunc cdouble cfloat clongdouble collatz correlate crc16 decimal32 decimal64 decimal128 dither div8 div16 div32 div64 div128 double euler explog factorial fibonacci fft fletcher16 float float80 float128 floatconversion gamma gcd gray hamming hanoi hyperbolic idct int128 int64 int32 int16 int8 int128float int128double int128longdouble int128decimal32 int128decimal64 int128decimal128 int64float int64double int64longdouble int32float int32double int32longdouble intconversion ipv4checksum jmp lfsr32 ln2 logmap longdouble loop matrixprod nsqrt omega parity phi pi prime psi queens rand rand48 rgb sieve stats sqrt trig union zeta ;
> do echo $i ; echo $i ; done
awk命令处理
cat withht.txt |grep cpu |grep -v dispatching |awk '{print $9}'
excel处理
复制然后进行一些简单的结果展示
可以对数据进行一些简单的展示和测算
简单总结
1. 超线程是否开启对仅进行单线程测算的结果影响不大.
2. 开启超线程对不同的命令全核指令的提升不一样.
3. 感觉指令数越小的指令提升越明显.
4. 部分指令开启超线程性能会有较大提升.
5. 数据库可能有较多的操作数. 还是建议关闭超线程.
单核心是否超线程的影响
多核心是否超线程的影响