Quantcast
Channel: SCN : All Content - All Communities
Viewing all articles
Browse latest Browse all 8894

How can I optimize IQ for a better I/O performance?

$
0
0

1) IQ version 16.0Sp0820, cluster contains two nodes, shared dbspace contains 4 dbfile, each dbfile is a independent raid6 (8+2), the size is 21T. memory is 400G.


2. use command like " "dd if=/dev/dm-1* of=/dev/null bs=512k skip=xxx count=10240" to test the max theoretical value of disk-read bandwidth

of each file is about 900MB/s.

 

3.run a join query using hash algorithm.  a query plan is generated. IQ 's read bandwidth only reached 200Mb/s.

  1).collect cpu usage using  "sar -P ALL 2 >> cpu.log".

  2)collect iostat using "iostat -x -m 2 | grep dm-1[3678]>>io.log".

  3)dm-13 , dm-16, dm-17, dm-18 are db files of a dbspace.

  4)test bandwidth of dm-13 , dm-16, dm-17, dm-18 : "dd if=/dev/dm-1* of=/dev/null bs=512k skip=xxx count=10240" 。

    bandwidth of each file is about 900MB/S.

  5)storage is ddn, infiniband.

  wonder why IQ only read 200MB/s each db file?


4.run a simple query against the first 100million rows of which table has1.5billion rows . Returned one column. the query results are redirected to the virtual disk. The disk read bandwidth reached about 300MB/s.


My question is how can we optimize the I/O performance from IQ side ? and Is that reasonable to compare with dd ?

If CUP and memory is not the bottleneck, then what caused the big iowait? why can't IQ reach higher r/w bandwidth?

 

Attached sar output(cpu.txt) and iostat output(io.txt) while the query with a hash algorithm. Also a query plan (please change xml to html)attached.


Thanks a lot.


Corona


Viewing all articles
Browse latest Browse all 8894

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>