2017-04-05 58 views
0

我做了一些压力测量箱-1.1.1,并得到了非常低的tps,300多或少,有2台物理机和10G JVM,3G数据和14个碎片,70多个领域,我的SQL就好比:是否有缓慢的日志显示像elasticsearch

> select count(*) from mytable where field1='abcd' and field2='defs' and 
> field3='aas' 

*。我想是不是箱子的真实表现,是有一些提示或一些方向,我可以试试吗?

有32CPU 64内核,并在创建连接时设置节点的IP和端口。 CPU使用率90%以上,mem使用率和磁盘io处于较低水平。可用的RAM是32G,只有3G数据,所以堆设置为10G。

并使用apache.jmeter产生压力。 vuser设置为50 90 120 150 200.

+0

嗨,你的CPU有多少核心?您是否在查询中遇到了两个节点(即连接到每个节点?)硬件利用率如何(CPU,内存,磁盘)?最重要的是,您拥有哪种类型的磁盘(SSD或HDD)?还有多大你相对于可用RAM设置你的堆(它应该是大约一半):) – claus

+0

有32CPU 64内核,并且在创建连接时设置节点的IP和端口。 CPU使用率90%以上,mem使用率和磁盘io处于较低水平。可用的RAM是32G,只有3G数据,所以堆设置为10G – tony

回答

0

您应该尝试提高并发性。意思是 - 并行运行多个查询。如果按顺序执行,则吞吐量将最小化。

数学非常简单:如果查询需要20ms,并且运行1个单线程,则最大吞吐量为50个请求/秒。但是如果你将并发性提高到10--它将会是500 req/s。

但是,如果并发性过高,则可能会使群集饱和。所以你想试验一下并发性。