Aaron From the CPU samples report. Here is the parts of the CPU samples report (-Xrunhprof:cpu=samples, depth=4). TRACE 300668: java.net.SocketInputStream.socketRead0(SocketInputStream.java:Unknown line) java.net.SocketInputStream.read(SocketInputStream.java:129) org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:127) org.apache.thrift.transport.TTransport.readAll(TTransport.java:84) TRACE 300310: java.net.PlainSocketImpl.socketAccept(PlainSocketImpl.java:Unknown line) java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408) java.net.ServerSocket.implAccept(ServerSocket.java:462) java.net.ServerSocket.accept(ServerSocket.java:430) TRACE 300639: sun.nio.ch.ServerSocketChannelImpl.accept0(ServerSocketChannelImpl.java:Unknown line) sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:152) sun.nio.ch.ServerSocketAdaptor.accept(ServerSocketAdaptor.java:84) org.apache.cassandra.net.MessagingService$SocketThread.run(MessagingService.java:617) TRACE 300670: java.net.SocketOutputStream.socketWrite0(SocketOutputStream.java:Unknown line) java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92) java.net.SocketOutputStream.write(SocketOutputStream.java:136) org.apache.thrift.transport.TIOStreamTransport.write(TIOStreamTransport.java:145) TRACE 301122: java.lang.Object.notify(Object.java:Unknown line) org.apache.cassandra.utils.SimpleCondition.signal(SimpleCondition.java:62) org.apache.cassandra.service.ReadCallback.response(ReadCallback.java:169) org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java rank self accum count trace method 1 74.00% 74.00% 160934 300668 java.net.SocketInputStream.socketRead0 2 14.85% 88.85% 32302 300310 java.net.PlainSocketImpl.socketAccept 3 3.67% 92.52% 7990 300639 sun.nio.ch.ServerSocketChannelImpl.accept0 4 1.90% 94.43% 4142 300670 java.net.SocketOutputStream.socketWrite0 5 0.79% 95.22% 1716 301122 java.lang.Object.notify -- Thanks Baskar Duraikannu On Sep 26, 2011, at 4:55 PM, aaron morton wrote: > How are you deciding what is thrift ? Thrift is used to handle connections and serialize / de-serialize off the wire. > > Cheers > > > > ----------------- > Aaron Morton > Freelance Cassandra Developer > @aaronmorton > http://www.thelastpickle.com > > On 27/09/2011, at 2:32 AM, Baskar Duraikannu wrote: > >> Hello - >> >> I have been running read tests on Cassandra using "stress" tool. I have been noticing that thrift seems to be taking lot of CPU over 70% when I look at the "CPU samples" report. Is this normal? >> >> CPU usage seems to go down by 5 to 10% when I change the RPC from "sync" to "async". Is this normal? >> >> I am running Cassandra 0.8.4 on Cent OS 5.6 ( Kernel 2.6.18.238) and Oracle JVM. >> >> - >> Thanks >> Baskar Duraikannu >