org.elasticsearch.common.util.concurrent.EsRejectedExecutionException错误解决

场景:

今天用jmeter来测试搜索服务的并发性能,1000并发,结果es报错了

org.elasticsearch.common.util.concurrent.EsRejectedExecutionException: rejected execution of org.elasticsearch.common.util.concurrent.TimedRunnable@69105af3 on QueueResizingEsThreadPoolExecutor[name = gdgt_R4/search, queue capacity = 1000, min queue capacity = 1000, max queue capacity = 1000, frame size = 2000, targeted response rate = 1s, task execution EWMA = 95.6ms, adjustment amount = 50, org.elasticsearch.common.util.concurrent.QueueResizingEsThreadPoolExecutor@39e472bb[Running, pool size = 13, active threads = 13, queued tasks = 4975, completed tasks = 5622440]]

原因:

应该就是并发线程数不够,导致queued tasks太多

解决方法:

在elasticsearch.yml中配置

结果:

elasticsearch支持每秒1000的并发了

但是,在压测这5min内es一直在做垃圾回收

并且cpu占用率也很高

最后测出来的es结果

看起来也不是很好,可能是因为单机的缘故?如果集群化,会不会好一些?

 

co.elastic.clients.transport.TransportException: [es/search] Failed to decode error response at co.elastic.clients.transport.rest_client.RestClientTransport.getHighLevelResponse(RestClientTransport.java:290) at co.elastic.clients.transport.rest_client.RestClientTransport.performRequest(RestClientTransport.java:147) at co.elastic.clients.elasticsearch.ElasticsearchClient.search(ElasticsearchClient.java:1526) at co.elastic.clients.elasticsearch.ElasticsearchClient.search(ElasticsearchClient.java:1543) at com.framework.eta.line.service.Impl.ElasticAlertServiceImpl.queryEsAlertInfo(ElasticAlertServiceImpl.java:41) at com.framework.eta.line.scheduler.AlertTask.queryElasticAlertInfo(AlertTask.java:30) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:84) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:93) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) at java.util.concurrent.FutureTask.run(FutureTask.java) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: org.elasticsearch.client.ResponseException: method [POST], host [http://192.168.0.21:9200], URI [/es/test_alert/_search?typed_keys=true], status line [HTTP/1.1 400 Bad Request] ... 21 common frames omitted
06-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值