elasticsearch写入性能峰值只有600tps,但CPU利用率仅70%没有用满。请问是什么原因呢
Elasticsearch | 作者 Ipromise | 发布于2019年11月11日 | 阅读数:2224
测试拓扑:1个master节点(CPU2核,服务器内存8G),2个数据节点(CPU2核,服务器内存32G)。三个节点分别部署在三台服务器上。
测试表现:向数据节点1发送写入请求,写入速率约为600个请求每秒,大量请求返回429(reject,队列满)。但数据节点1、2的CPU利用率仅百分60%,内存60%。并未达到性能极限。
问题1:为何抛出大量429错误,CPU却没有跑满?
问题2:如何让CPU跑到90%以上?
追加:听从社区上大佬的意见后,写入请求中不再使用大量的bulk请求,不再返回大量429错误,但CPU和内存依然只有60%,没有用满,目前还不知道为什么写入速率低但CPU内存没用满。
测试表现:向数据节点1发送写入请求,写入速率约为600个请求每秒,大量请求返回429(reject,队列满)。但数据节点1、2的CPU利用率仅百分60%,内存60%。并未达到性能极限。
问题1:为何抛出大量429错误,CPU却没有跑满?
问题2:如何让CPU跑到90%以上?
追加:听从社区上大佬的意见后,写入请求中不再使用大量的bulk请求,不再返回大量429错误,但CPU和内存依然只有60%,没有用满,目前还不知道为什么写入速率低但CPU内存没用满。
2 个回复
everything - 80后IT
赞同来自:
最好还是有一些保留,比如最大达到cpu80%,cpu负载达到65%,内存达到75%,io读写,应该也不要打满,网卡流量也不能满,
满了不能说你充分利用硬件性能了,而是需要扩容了,否则就到瓶颈了,稍微再来点压力,挂了。
five
赞同来自: