0

i did some pressure measurement on crate-1.1.1,and got a very low tps, 300 more or less, there 2 Physical machine and 10G JVM , 3G data and 14 shard, 70+ fields, my sql is just like :

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

*.i think it is not the true performance of crate, is there some hint or some directions i can try ?

there are 32CPU 64 core, and setting both node`s IP and port when creating the connection. CPU usage 90%+, mem usage and disk io is in low level. the available RAM is 32G, there are only 3G data , so the heap is setted 10G.

and use the apache.jmeter to produce the pressure. vuser is set to 50 90 120 150 200.

Cœur
  • 37,241
  • 25
  • 195
  • 267
tony
  • 3
  • 4
  • Hi, how many cores does your CPU have? Are you hitting both nodes with your queries (i.e. connecting to each node?) What's the hardware utilization like (CPU, mem, disk) - and most importantly, what kind of disk do you have (SSD or HDD)? Also how large did you set your heap relative to the available RAM (it should be about half) :) – claus Apr 05 '17 at 12:55
  • there are 32CPU 64 core, and setting both node`s IP and port when creating the connection. CPU usage 90%+, mem usage and disk io is in low level. the available RAM is 32G, there are only 3G data , so the heap is setted 10G – tony Apr 06 '17 at 09:32

1 Answers1

0

you should try to increase the concurrency. meaning - running multiple queries in parallel. if you do them sequentially the throughput will be minimized.

the math is pretty easy: if a query takes 20ms and you are running 1 single thread the maximum throughput is 50 req/s. but if you increase the concurrency to 10 - it will be 500 req/s.

however if the concurrency is too high, you might saturate the cluster. so you want to experiment with the concurrency.

Jodok Batlogg
  • 373
  • 1
  • 9