es性能测试:抛出大量429错误,CPU利用率仅70%,如何让CPU利用率跑到90%以上?
Elasticsearch | 作者 Ipromise | 发布于2019年11月12日 | 阅读数:7104
测试拓扑:1个master节点(CPU2核,服务器内存8G),2个数据节点(CPU2核,服务器内存32G)。三个节点分别部署在三台服务器上。
测试表现:向数据节点1发送写入请求,写入速率约为600个请求每秒,大量请求返回429(reject,队列满)。但数据节点1、2的CPU利用率仅百分60%,内存60%。并未达到性能极限。
问题1:为何抛出大量429错误,CPU却没有跑满?
问题2:如何让CPU跑到90%以上?
测试表现:向数据节点1发送写入请求,写入速率约为600个请求每秒,大量请求返回429(reject,队列满)。但数据节点1、2的CPU利用率仅百分60%,内存60%。并未达到性能极限。
问题1:为何抛出大量429错误,CPU却没有跑满?
问题2:如何让CPU跑到90%以上?
5 个回复
zqc0512 - andy zhou
赞同来自: Ipromise
trycatchfinal
赞同来自: Ipromise
这两个没有直接关系
匿名用户
赞同来自: Ipromise
如果这些都不了解, 我不懂你是怎么测试的。
难道测试,是随便测试几个插入,几个查询就行吗?
测试必须全面覆盖才行吧
1,服务器本身的硬件测试
2,服务器 本身的配置测试
3,安装ES软件以后,集群之间的基本测试,基准测试
4,此时才开始业务场景测试
everything - 80后IT
赞同来自: Ipromise
比如插入的过程中,Elasticsearch 会做段文件合并,会消耗大量的cpu和load,当然也会消耗io。
一般对于es集群,都是单生产者,多消费者,或者几个生产者。而你测试的时候,好像是使用了大量的生产者去插入。
难道是想实现向mysql一样的,大量的增加,删除,修改,功能吗?
laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net
赞同来自:
1,设置副本为0,写入完毕再设置。
2,设置refresh_interval为30s甚至更大
3,并发bulk和线程池关系,可以修改下线程池队列大小以提升写入性能
目的:打满cpu