性能问题测试,要尽量消除无关变量
性能问题要诀: 环境一致性[底层硬件/操作系统/软件/工作负载(请求量/包量等)]
压测有风险,可能蓝屏、可能损坏数据,如有重要数据,先备份数据
压测有风险,可能蓝屏、可能损坏数据,如有重要数据,先备份数据
压测有风险,可能蓝屏、可能损坏数据,如有重要数据,先备份数据
举例:
GPU压测,核显电脑的显存小,尽量别压,Kombustor直接把我AMD电脑(AMD Ryzen 7 5700G with Radeon Graphics )压蓝屏了
https://www.geeks3d.com/furmark/kombustor/
我在BIOS里分配的2GB显存,用kombustor压测时,显存用量≥3GB时极易蓝屏
压测有风险,可能蓝屏、可能损坏数据,如有重要数据,先备份数据
压测有风险,可能蓝屏、可能损坏数据,如有重要数据,先备份数据
压测有风险,可能蓝屏、可能损坏数据,如有重要数据,先备份数据
一、CPU
只压CPU:Prime95、Cinebench R23、IntelBurnTest、CPUStress、CPU-Z
压缩、解压缩任务比较耗费CPU算力,7z、winrar等软件的UI上有简单的性能测试功能,但不如Prime95、CinebenchR23等专业CPU压测软件。
https://cloud.tencent.com/developer/article/2385354
以vraybench命令行工具为例介绍start /affinity在cmd和powershell命令行中的使用
https://cloud.tencent.com/developer/article/2417026
start /affinity指定到第几个vCPU跑openssl speed来测试单个vCPU性能
openssl在Windows上没有-multi参数,可以通过start /affinity指定到第几个vCPU跑openssl speed来测试单个vCPU性能(仅限64个vCPU之内)。
https://cloud.tencent.com/developer/article/1923251
VC库的版本区分和对CPU算力的影响
https://cloud.tencent.com/developer/article/2423042
二、GPU
1、只压GPU
OctaneBench
https://cloud.tencent.com/developer/article/1923257
2、CPU、GPU都可以压
HeavyLoad V-Ray Benchmark CLI FurMark* geekbench
代码语言:txt复制HeavyLoad压显存太少,一次才几百M,用OctaneBench吧,一份就能压3GB左右显存
而且HeavyLoad非常容易卡住,而且GPU内存分配不稳定,分配得也没有OctaneBench多
理论上可以把heavyload文件夹复制N份,每一份都运行最简GPU压测,GPU内存分配差不多就是200多MB*N份
OctaneBench也一样,复制多份,一份大概分配3GB显存,跑个5份左右就把16GB显存占满了
备注: 1、特殊裸金属GPU机器需要特殊驱动 ①BMG5i、BMGC28me https://cloud.tencent.com/developer/article/2336735 ②BMGY5 IEG有个BMG特殊机型BMGY5,显卡是Tesla T10 特殊定制的显卡,nvidia官网查不到这个型号的显卡,资料极少,产品经理一开始都没太搞清楚 驱动特供,我这里贴一下驱动文件名:GRID-436.02-vGaming-Windows-Guest-Drivers-R435.zip 2、切分卡GPU机器 切分卡显存不高,压的时候注点意,别超了显存,超了容易蓝屏;另外,GN7vw 1/4切分卡在dota2刚启动时,显卡算力不够用
三、内存
关于Windows内存的几个概念澄清:https://cloud.tencent.com/developer/article/1924864
1、微软内存工具
①C:WindowsBootPCATmemtest.exe
②内存问题排障 http://live.sysinternals.com/
vmmap
rammap
2、第三方内存工具
①memtest
https://www.memtest86.com
https://hcidesign.com/memtest/download.html
②释放内存
https://github.com/henrypp/memreduct(我看到有些客户用Mem Reduct 这个软件释放内存)
③进程级别限制资源
https://github.com/lowleveldesign/process-governor(限制单个进程CPU、内存)
④关闭进程释放资源CloseAll
对那些重启、关机、注销耗时长的,可以在发起操作之前执行特定命令关闭所有业务进程,然后再发起,就没啥进程阻挡了
参考我这篇文档https://cloud.tencent.com/developer/article/2446396
四、磁盘
Windows上优先推荐diskspd (HD Tune Pro、FIO等在Windows上测的不一定准) https://cloud.tencent.com/developer/article/1907773
windows平台,diskspd是最专业的 IT5 nvme性能压测时用的diskspd,录屏链接:https://pan.baidu.com/s/1bxIWp1qMM61N8QBehs85Qg?pwd=jzgd
获取磁盘总字节数,腾讯云盘容量是/1024/1024/1024单位,不是/1000/1000/1000
https://cloud.tencent.com/developer/article/2374921
五、网络
1、ctsTraffic
https://cloud.tencent.com/developer/article/2236340
2、iperf
https://cloud.tencent.com/developer/article/2229468
关于操作系统对组播的默认支持情况的核实如下: ①开启或关闭组播功能 https://cloud.tencent.com/document/product/215/53428
②Windows默认支持组播的,不用特殊配置。linux上iperf3验证不了组播效果,只有iperf2可以,windows上iperf2和iperf3都验证不了组播效果,需要自己写程序验证。 且组播地址保留了224.0.0.0和224.0.0.1 试的时候从224.0.0.2试起 比如我简单测试了几个都可以 224.0.0.2 224.0.0.3 224.0.0.4 224.0.0.5 源代码Demo:https://windows-1251783334.cos.ap-shanghai.myzijiebao.com/python测试组播1.zip
python是跨平台的,上面我给的程序支持:都是Windows测试、都是linux测试、windows linux混合测试,3种情况我都测过了
六、通用工具
1、WinSAT、resmon、WPT、procmon、procexp等
访问 Process Explorer 的官方下载页面:https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer 下载 Process Explorer 并解压缩文件。 双击 procexp.exe 或 procexp64.exe(取决于您的系统版本)以运行 Process Explorer。 单击菜单栏上的“查看”(View),然后选择“系统信息”(System Information),在弹出的窗口中勾选底部的复选框,鼠标放到小方格上查看每个 CPU 核心的使用情况(左上侧第一个方格是CPU0,下图是16 vCPU)
举例1:机器空载的时候,sysmon在不断监测系统并记录日志,因此有持续不断的IO,用Process Explorer可以清楚地观察到
参考这个录屏文件
举例2:svchost.exe占满CPU,用Process Explorer分析,发现有可疑ip和域名(挖矿)
2、图吧工具箱(硬件信息 压测:HWiNFO、AIDA64)
HWiNFO、AIDA64,既能查看硬件信息,也能进行内存、磁盘等多维度压测。
AIDA64的前身是EVEREST,AIDA64的版本很多,虽是商业软件,但能免费用。AIDA64 Extreme带有内置的30天试用期。在试用期间,AIDA64可能会提供有限的功能,并且可能不会在信息和基准测试结果页面上显示所有数据。如果想评估AIDA64网络审计或AIDA64业务,请申请免费测试许可证,此许可证允许在30天内使用全功能版本。
Windows系统自带的msinfo32命令也能查看硬件信息,但不具备HWiNFO、AIDA64那样既能查看硬件信息也能进行性能压测的能力。
关于HWiNFO,跟AIDA64有一定异同,详见https://www.hwinfo.com/licenses/
HWiNFO工具有各种版本,所有版本都可以在个人和非商业环境中免费使用。在商业环境中使用HWiNFO64需要HWiNFO64 Pro许可,HWiNFO64 Pro还提供其他功能。
3、跨平台压测工具套件phoronix-test-suite
跨平台压测工具套件phoronix-test-suite,集成了上百款压测工具/方案,跟linux的兼容性更好或者说工具套件适用linux的工具/方案更多。
七、passmark
https://www.passmark.com/
passmark是一个综合压测工具,各方面都能压,试用版无法定制自动化,但手动测试够用
注意:passmark就别用了(在S6之前的Intel机器会蓝屏)
建议CinebenchR23等工具压测CPU
https://installer.maxon.net/cinebench/CinebenchR23.zip
我在广州三区、上海五区、北京六区、东京二区,测试了15个机型,发现AMD的没问题,Intel的从S6没问题,S6之前的我能买到的跑这个压测软件都有问题,不是正式跑,是这个软件打开的时候会先收集CPU信息,在收集CPU信息的过程就蓝屏crash了,还没到正式跑压测的阶段就蓝屏了
这个蓝屏问题,是passmark自身逻辑不够健壮,用CinebenchR23等工具不会蓝屏
系统 passmark版本 | 蓝屏报错 |
---|---|
server2016/2019 petst10/petst11 | DirectIo64_legacy.sys 12c5 |
win10/win11/server2022 petst10 | DirectIo64.sys 12cc |
win10/win11/server2022 petst11 | DirectIo64.sys 12d5 |