es是6.5版本,用bulk api从3个master节点写入(数据节点有18个) ,
一批数据可能会包含多个索引的数据,并且数据因为业务问题指定了id(避免网络问题失败而造成多条重复数据),
现在问题是在写入时,查询会变得很慢,看了所有节点的cpu跟load都是不到50%,但是查询20条数据都很慢,有十几秒,
既是写入的是索引A,查询的是索引B,也会很慢
我看文档写入的是一个线程池,查询的是另一个线程池,为什么会互相影响?
每个数据节点的内存使用已经到了80%,是这个原因吗?
一批数据可能会包含多个索引的数据,并且数据因为业务问题指定了id(避免网络问题失败而造成多条重复数据),
现在问题是在写入时,查询会变得很慢,看了所有节点的cpu跟load都是不到50%,但是查询20条数据都很慢,有十几秒,
既是写入的是索引A,查询的是索引B,也会很慢
我看文档写入的是一个线程池,查询的是另一个线程池,为什么会互相影响?
每个数据节点的内存使用已经到了80%,是这个原因吗?
1 个回复
charlesfang
赞同来自:
2. bulk操作中是不是加了refresh?以及io使用情况怎么样呢?写的时候也会占读的io,ioutil, io队列是不是有阻塞?
3. 查询dsl是不是本身有性能问题?
另外。写入和查询是不同的线程池,如果机器底层资源没有瓶颈,互相影响不大的,何况你这还是不同的索引。