《PolarDB-X开源分布式数据库实战进阶》——对PolarDB-X进行TP负载测试(6) https://developer.aliyun.com/article/1228671?groupCode=polardbforpg
填写完参数以后,点击提交,并查看实时结果。
上图为实时结果,包含当前的并发数50,实时的tps、qps、r/w/o、95%分位的延迟(ms)、每秒的错误数以及重连次数。
运行完成后,点击压测结果-sysbench,查看压测结果,并点击历史任务详情。
可以看到实际执行的是一条sysbench的命令,我们填入的参数被填入命令脚本中,下拉还可以查看实时的QPS数据。
然后执行一次并发为100的点查测试。
同时选中两次压测,页面右下角点击QPS对比。
如果数据库是冷启动,则第一次的压测曲线会有一段从很低的值陡增的斜坡。但本次实验已经提前热身,因此QPS曲线比较平稳。100并发的点查和50并发的点查平均时延差距很小,而QPS比例约为2:1。
如果继续加大并发,随着RT的上升,QPS的线性增长效果将会越来越不明显。即:随着并发的增长,QPS的增长比例会越来越低。
要达到理论最高的QPS,希望将计算资源尽可能地消耗完,通常表现在CPU的利用率上。根据workload的不同,也会有其他的限制因素,一般影响CPU的利用率因素包括磁盘IO、网络IO、共享资源的竞争、锁或阻塞队列以及其他依赖服务吞吐量低,造成当前节点的CPU利用率不高等。
接下来演示TPC-C压测。
导入数据,切换库,选择自动判断的建库模式,结果显示最终以auto模式创建了TPC-C仓库。点击校验数据,会提示所有表都存在,共有200个仓,且数据集完整。此处的数据集即前文提到的6条校验完整性的SQL。校验完整性的作用在于可以模拟运行TPC-C的过程中kill一个CN进程或DN的leader。待实例恢复后,再验证是否能仍能满足数据完整性。
运行TPC-C,执行并发为50的压测。
提交任务后查看实时结果,如上图。实时输出会打印出各种信息,包括连接串的参数,比如TPC-C客户端到数据库的JDBC的连接参数、并发度、仓库数、运行时长以及几种事务的混合比例。
《PolarDB-X开源分布式数据库实战进阶》——对PolarDB-X进行TP负载测试(8) https://developer.aliyun.com/article/1228669?groupCode=polardbforpg