Hi,  My app writes 100K rows per seconds to a C* cluster (including 30 nodes 
and using version 3.11.2). There are 20 threads, each writing 10K (list size in 
below code is 100K) statements using async API: for (Statement s:list) {     
ResultSetFuture future = session.executeAsync(s);     tasks.add(future);     if 
(tasks.size() < 10000)         continue;     for (ResultSetFuture t:tasks)      
   t.getUninterruptibly(10000, TimeUnit.MILLISECONDS);     tasks.clear(); } if 
(tasks.size() != 0) {     for (ResultSetFuture t:tasks)         
t.getUninterruptibly(10000, TimeUnit.MILLISECONDS); } CPU usage for my loader 
application is > 80% on a Xeon 20 core, using sample on jvisualvm find out 
these at top by percentage of all CPU time: 
io.netty.channel.epoll.Native.epollWait0 40% 
shade.com.datastax.spark.connecto.google.common.util.concurrent.AbstractFuture$Sync.get()
 10% com.datastax.driver.core.RequestHanlder.init 10% It seems like that, it 
checks for finishing all tasks every some nano seconds. Is there any workaround 
to decrease CPU usage of my application, which currently is the bottleneck? 
Sent using Zoho Mail

Reply via email to