Return-Path: Delivered-To: apmail-cassandra-user-archive@www.apache.org Received: (qmail 60370 invoked from network); 19 Oct 2010 18:11:44 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 19 Oct 2010 18:11:44 -0000 Received: (qmail 18795 invoked by uid 500); 19 Oct 2010 18:11:42 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 18772 invoked by uid 500); 19 Oct 2010 18:11:42 -0000 Mailing-List: contact user-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@cassandra.apache.org Delivered-To: mailing list user@cassandra.apache.org Received: (qmail 18764 invoked by uid 99); 19 Oct 2010 18:11:42 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 19 Oct 2010 18:11:42 +0000 X-ASF-Spam-Status: No, hits=4.4 required=10.0 tests=FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of wav100@gmail.com designates 74.125.83.44 as permitted sender) Received: from [74.125.83.44] (HELO mail-gw0-f44.google.com) (74.125.83.44) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 19 Oct 2010 18:11:37 +0000 Received: by gwaa18 with SMTP id a18so416544gwa.31 for ; Tue, 19 Oct 2010 11:11:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type; bh=5zxmNh7/XHoMbesYDOTZ1NAyRD/1GYxI8VaelyP/KZo=; b=OUMgSPZmNYZV/v0F8U//a1BANVMU/FNxZyFpiZURwq+XzPNJCiT0mC+JGNCdK8jbTv ox0hISJjCN0uPcGV/GUOHvMyjNE5XsfmZRxPXMtZg9Q9l8RbJv7NRUFhT9putOwVmEMK 3CtfxyasKCsPK0Vo/tFRQM8279+ftrseuCVwQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=DjHLR91CEzf5RTJ4OJEb8Fq8c9r3tbzEXhHp+M6/eTaqb9PL975YhCxvCE5HpJ6uEc pMaRa6qN198ej3pa59X66OwThV3UZsjwLfqcFIAd7AcHLERXMmKp2ULL+U99WqgftBhw P+fmprcOvjCPU2bWZ2skAkUTLAt/FtTkuc84Y= MIME-Version: 1.0 Received: by 10.150.218.21 with SMTP id q21mr9552196ybg.205.1287511875710; Tue, 19 Oct 2010 11:11:15 -0700 (PDT) Received: by 10.100.108.6 with HTTP; Tue, 19 Oct 2010 11:11:15 -0700 (PDT) In-Reply-To: References: Date: Tue, 19 Oct 2010 14:11:15 -0400 Message-ID: Subject: Re: Read Latency From: Wayne To: user@cassandra.apache.org Content-Type: multipart/alternative; boundary=000e0cd40650fef1730492fc37f2 --000e0cd40650fef1730492fc37f2 Content-Type: text/plain; charset=ISO-8859-1 Our problem is not that Python is slow, our problem is that getting data from the Cassandra server is slow (while Cassandra itself is fast). Python can handle the result data a lot faster that whatever is it passing through now... I guess to ask a specific question what right now is the fastest mechanism in terms of latency to get data from Cassandra to a client application? I assume it is Java? We would not use any higher level library and prefer to go directly against thrift (whatever is the fastest method). We can easily write our own C++ layer but if C++ still has to go through Thrift and thrift is our problem we have solved nothing. To us this appears much more as a maturity/optimization problem in thrift than anything to do with language benefits. Given our entire wait is on a call to Thrift below I tend to think nothing we do (in any language) will help except making optimizations to Thrift or Avro? Thanks for the help! On Tue, Oct 19, 2010 at 1:18 PM, Jonathan Ellis wrote: > I would expect C++ or Java to be substantially faster than Python. > However, I note that Hector (and I believe Pelops) don't yet use the > newest, fastest Thrift library. > > On Tue, Oct 19, 2010 at 8:21 AM, Wayne wrote: > > The changes seems to do the trick. We are down to about 1/2 of the > original > > quorum read performance. I did not see any more errors. > > > > More than 3 seconds on the client side is still not acceptable to us. We > > need the data in Python, but would we be better off going through Java or > > something else to increase performance? All three seconds are taken up in > > Thrift itself (fastbinary.decode_binary(self, iprot.trans, > (self.__class__, > > self.thrift_spec))) so I am not sure what other options we have. > > > > Thanks for your help. > > > > > > -- > Jonathan Ellis > Project Chair, Apache Cassandra > co-founder of Riptano, the source for professional Cassandra support > http://riptano.com > --000e0cd40650fef1730492fc37f2 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Our problem is not that Python is slow, our problem is that getting data fr= om the Cassandra server is slow (while Cassandra itself is fast). Python ca= n handle the result data a lot faster that whatever is it passing through n= ow...

I guess to ask a specific question what right now is the fastest mechan= ism in terms of latency to get data from Cassandra to a client application?= I assume it is Java? We would not use any higher level library and prefer = to go directly against thrift (whatever is the fastest method).=A0 We can e= asily write our own C++ layer but if C++ still has to go through Thrift and= thrift is our problem we have solved nothing. To us this appears much more= as a maturity/optimization problem in thrift than anything to do with lang= uage benefits.

Given our entire wait is on a call to Thrift below I tend to think noth= ing we do (in any language) will help except making optimizations to Thrift= or Avro?

Thanks for the help!

On = Tue, Oct 19, 2010 at 1:18 PM, Jonathan Ellis <jbellis@gmail.com> wrote:
I would expect C+= + or Java to be substantially faster than Python.
However, I note that Hector (and I believe Pelops) don't yet use the newest, fastest Thrift library.

On Tue, Oct 19, 2010 at 8:21 AM, Wayne <wav100@gmail.com> wrote:
> The changes seems to do the trick. We are down to about 1/2 of the ori= ginal
> quorum read performance. I did not see any more errors.
>
> More than 3 seconds on the client side is still not acceptable to us. = We
> need the data in Python, but would we be better off going through Java= or
> something else to increase performance? All three seconds are taken up= in
> Thrift itself (fastbinary.decode_binary(self, iprot.trans, (self.__cla= ss__,
> self.thrift_spec))) so I am not sure what other options we have.
>
> Thanks for your help.
>



--
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of Riptano, the source for professional Cassandra support
http://riptano.com

--000e0cd40650fef1730492fc37f2--