Re: Cassandra benchmarking on Rackspace Cloud

2010-07-29 Thread Peter Schuller
> Just wanted to follow up on this. > > We were never able to achieve throughput scaling in the cloud.  We were able > to verify that many of our cluster nodes and test servers were collocated on > the same physical hardware (thanks Stu for the tip on the Rackspace REST > API), and that performa

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-29 Thread Oren Benjamin
Just wanted to follow up on this. We were never able to achieve throughput scaling in the cloud. We were able to verify that many of our cluster nodes and test servers were collocated on the same physical hardware (thanks Stu for the tip on the Rackspace REST API), and that performance on coll

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-20 Thread Peter Schuller
> (I'm hoping to have time to run my test on EC2 tonight; will see.) Well, I needed three c1.xlarge EC2 instances running py_stress to even saturate more than one core on the c1.xlarge instance running a single cassandra node (at roughly 21k reqs/second)... Depending on how reliable vmstat/top is

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-20 Thread Ryan King
On Tue, Jul 20, 2010 at 6:20 AM, Juho Mäkinen wrote: > I managed to run a few benchmarks. > > Servers   r/s >   1        64.5k >   2        59.5k > > The configuration: > Client: Machine with four Quad Core Intel Xeon CPU E5520 @ 2.27Ghz > cpus (total 16 cores), 4530 bogomips per core. 12 GB ECC c

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-20 Thread Peter Schuller
> But what's then the point with adding nodes into the ring? Disk speed! Well, it may also be cheaper to service an RPC request than service a full read or write, even in terms of CPU. But: Even taking into account that requests are distributed randomly, the cluster should still scale. You will a

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-20 Thread Juho Mäkinen
I managed to run a few benchmarks. Servers r/s 164.5k 259.5k The configuration: Client: Machine with four Quad Core Intel Xeon CPU E5520 @ 2.27Ghz cpus (total 16 cores), 4530 bogomips per core. 12 GB ECC corrected memory. Supermicro mainboard (not sure about exact type).

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-19 Thread Dave Viner
I've put up a bunch of steps to get Cassandra installed on an EC2 instance: http://wiki.apache.org/cassandra/CloudConfig Look at the "step-by-step guide". I haven't AMI-ed the result, since the steps are fairly quick and it would be just one more thing to update with a new release of Cassandra...

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-19 Thread David Schoonover
> Now keep adding clients until it stops making the numbers go up... Neither adding additional readers nor additional cluster nodes showed performance gains. The numbers, they do not move. -- David Schoonover On Jul 19, 2010, at 5:18 PM, Jonathan Ellis wrote: > Now keep adding clients until i

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-19 Thread Peter Schuller
> CPU was approximately equal across the cluster; it was around 50%. > > stress.py generates keys randomly or using a gaussian distribution, both > methods showed the same results. > > Finally, we're using a random partitioner, so Cassandra will hash the keys > using md5 to map it to a position o

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-19 Thread Jonathan Ellis
Now keep adding clients until it stops making the numbers go up... On Mon, Jul 19, 2010 at 2:51 PM, David Schoonover wrote: > Sorry, mixed signals in my response. I was partially replying to suggestions > that we were limited by the box's NIC or DC's bandwidth (which is gigabit, no > dice there

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-19 Thread David Schoonover
> Did you see about equal CPU usage on the cassandra nodes during the > test? Is it possible that most or all of the keys generated by > stress.py simply fall on a single node? CPU was approximately equal across the cluster; it was around 50%. stress.py generates keys randomly or using a gaussian

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-19 Thread David Schoonover
Thanks a ton, Juho. The command was: ./stress.py -o read -t 50 -d $NODELIST -n 7500 -k -i 2 I made a few minor modifications to stress.py to count errors instead of logging them, and avoid the pointless try-catch on missing keys. (There are also unrelated edits to restart long run

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-19 Thread Juho Mäkinen
I'm about to extend my two node cluster with four dedicated nodes and removing one of the old nodes, leaving a five node cluster. The cluster is in production, but I can spare it to do some stress testing in the meantime as I'm also interested about my cluster performance. I can't dedicate the clus

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-19 Thread Peter Schuller
The following is completely irrelevant if you are indeed using the default storage-conf.xml as you said. However since I wrote it and it remains relevant for anyone testing with the order preserving partitioner, I might aswell post it rather than discard it... Begin probably irrelevant post: Anot

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-19 Thread Oren Benjamin
I'll just add that CPU usage hovered around 50% during these tests. On Jul 19, 2010, at 3:51 PM, David Schoonover wrote: > Sorry, mixed signals in my response. I was partially replying to suggestions > that we were limited by the box's NIC or DC's bandwidth (which is gigabit, no > dice there).

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-19 Thread David Schoonover
Sorry, mixed signals in my response. I was partially replying to suggestions that we were limited by the box's NIC or DC's bandwidth (which is gigabit, no dice there). I also ran the tests with -t50 on multiple tester machines in the cloud with no change in performance; I've now rerun those test

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-19 Thread Peter Schuller
> stress.py uses multiprocessing if it is present, circumventing the GIL; we > ran the tests with python 2.6.5. Ah, sorry about that. I was mis-remembering because I had to use threading with pystress because multiprocessing was broken/unavailabie (can't remember which) on FreeBSD. I agree with

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-19 Thread malcolm smith
Usually a fixed bottleneck results from a limited resource -- you've eliminated disk from the test and you don't mention that CPU is a serious issue, or memory for that matter. So for me that leaves network i/o and switch capacity. Is it possible that your test is saturating your local network ca

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-19 Thread Ryan King
On Mon, Jul 19, 2010 at 11:02 AM, David Schoonover wrote: >> Multiple client processes, or multiple client machines? > > > I ran it with both one and two client machines making requests, and ensured > the sum of the request threads across the clients was 50. That was on the > cloud. I am re-runn

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-19 Thread S Ahmed
I'm reading what this thread and I am a little lost, what should the expected behavioral be? Should it maintain 53K regardless of nodes? nodes reads/sec 1 53,000 2 37,000 4 37,000 I ran this test previously on the cloud, with similar results: nodes reads/sec 1 24,000

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-19 Thread Stu Hood
additional gains: above that point, you should use more machines, each running K processes. -Original Message- From: "David Schoonover" Sent: Monday, July 19, 2010 1:02pm To: user@cassandra.apache.org Subject: Re: Cassandra benchmarking on Rackspace Cloud > Multiple client

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-19 Thread David Schoonover
> Multiple client processes, or multiple client machines? I ran it with both one and two client machines making requests, and ensured the sum of the request threads across the clients was 50. That was on the cloud. I am re-running the multi-host test against the 4-node cluster on dedicated har

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-19 Thread David Schoonover
stress.py uses multiprocessing if it is present, circumventing the GIL; we ran the tests with python 2.6.5. David Schoonover On Jul 19, 2010, at 1:51 PM, Peter Schuller wrote: >>> One with 50 threads; it is remote from the cluster but within the same >>> DC in both cases. I also run the test wi

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-19 Thread Peter Schuller
>> One with 50 threads; it is remote from the cluster but within the same >> DC in both cases. I also run the test with multiple clients and saw >> similar results when summing the reqs/sec. > > Multiple client processes, or multiple client machines? In particular, note that the way CPython works,

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-19 Thread Jonathan Ellis
On Mon, Jul 19, 2010 at 12:30 PM, David Schoonover wrote: >> How many physical client machines are running stress.py? > > One with 50 threads; it is remote from the cluster but within the same > DC in both cases. I also run the test with multiple clients and saw > similar results when summing the

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-19 Thread Stu Hood
u Hood wrote: > How many physical client machines are running stress.py? > > -Original Message- > From: "David Schoonover" > Sent: Monday, July 19, 2010 12:11pm > To: user@cassandra.apache.org > Subject: Re: Cassandra benchmarking on Rackspace Cloud > >

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-19 Thread David Schoonover
> Another thing: Is the py_stress traffic definitely non-determinstic > such that each client will generate a definitely unique series of > requests? The tests were run both with --random and --std 0.1; in both cases, the key-sequence is non-deterministic. Cheers, Dave On Jul 19, 2010, at 1

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-19 Thread David Schoonover
ote: > How many physical client machines are running stress.py? > > -Original Message- > From: "David Schoonover" > Sent: Monday, July 19, 2010 12:11pm > To: user@cassandra.apache.org > Subject: Re: Cassandra benchmarking on Rackspace Cloud > > Hello all,

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-19 Thread Peter Schuller
Another thing: Is the py_stress traffic definitely non-determinstic such that each client will generate a definitely unique series of requests? If all clients are deterministically requesting the same sequence of keys, it would otherwise be plausible that they end up in effective lock-step, if the

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-19 Thread Dave Viner
This may be too much work... but you might consider building an Amazon EC2 AMI of your nodes. This would let others quickly boot up your nodes and run the stress test against it. I know you mentioned that you're using Rackspace Cloud. I'm not super familiar with the internals of RSCloud, but per

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-19 Thread Peter Schuller
> I ran this test previously on the cloud, with similar results: > > nodes   reads/sec > 1       24,000 > 2       21,000 > 3       21,000 > 4       21,000 > 5       21,000 > 6       21,000 > > In fact, I ran it twice out of disbelief (on different nodes the second time) > to essentially identical

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-19 Thread Stu Hood
How many physical client machines are running stress.py? -Original Message- From: "David Schoonover" Sent: Monday, July 19, 2010 12:11pm To: user@cassandra.apache.org Subject: Re: Cassandra benchmarking on Rackspace Cloud Hello all, I'm Oren's partner in crime on

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-19 Thread David Schoonover
ot;Oren Benjamin" > Sent: Monday, July 19, 2010 10:30am > To: "user@cassandra.apache.org" > Subject: Re: Cassandra benchmarking on Rackspace Cloud > > Certainly I'm using multiple cloud servers for the multiple client tests. > Whether or not they are res

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-19 Thread Stu Hood
Oren Benjamin" Sent: Monday, July 19, 2010 10:30am To: "user@cassandra.apache.org" Subject: Re: Cassandra benchmarking on Rackspace Cloud Certainly I'm using multiple cloud servers for the multiple client tests. Whether or not they are resident on the same physical machine,

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-19 Thread Oren Benjamin
Yes, as the size of the data on disk increases and the OS cannot avoid disk seeks the read performance degrades. You can see this in the results from the original post where the number of keys in the test goes from 10M to 100M the reads drop from 4,600/s to 200/s. 10M keys in the stress.py tes

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-19 Thread Oren Benjamin
Certainly I'm using multiple cloud servers for the multiple client tests. Whether or not they are resident on the same physical machine, I just don't know. -- Oren On Jul 18, 2010, at 11:35 PM, Brandon Williams wrote: On Sun, Jul 18, 2010 at 8:45 PM, Oren Benjamin mailto:o...@clearspring.

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-18 Thread Brandon Williams
On Sun, Jul 18, 2010 at 8:45 PM, Oren Benjamin wrote: > Thanks for the info. Very helpful in validating what I've been seeing. As > for the scaling limit... > > >> The above was single node testing. I'd expect to be able to add nodes > and scale throughput. Unfortunately, I seem to be running

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-18 Thread Oren Benjamin
Thanks for the info. Very helpful in validating what I've been seeing. As for the scaling limit... >> The above was single node testing. I'd expect to be able to add nodes and >> scale throughput. Unfortunately, I seem to be running into a cap of 21,000 >> reads/s regardless of the number o

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-17 Thread Jonathan Ellis
On Sat, Jul 17, 2010 at 1:31 PM, Brandon Williams wrote: > Most of the data was hot in either the row/key cache, or in the OS file > cache.  The point was to benchmark Cassandra, not how fast the disk can > seek. IIRC we were running w/ the defaults of 200k key cache and no row cache. -- Jonath

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-17 Thread Brandon Williams
On Sat, Jul 17, 2010 at 12:02 PM, Schubert Zhang wrote: > Hi Jonathan, > The 7k reads/s is very high, could you please make more explain about your > benchmark? > > 7000 reads/s makes average latency of each read operation only talks > 0.143ms. Consider 2 disks in the benchmark, it may be 0.286ms

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-17 Thread Schubert Zhang
I fact, in my cassandra-0.6.2, I can only get about 40~50 reads/s with disabled Key/Row cache. On Sun, Jul 18, 2010 at 1:02 AM, Schubert Zhang wrote: > Hi Jonathan, > The 7k reads/s is very high, could you please make more explain about your > benchmark? > > 7000 reads/s makes average latency of

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-17 Thread Schubert Zhang
Hi Jonathan, The 7k reads/s is very high, could you please make more explain about your benchmark? 7000 reads/s makes average latency of each read operation only talks 0.143ms. Consider 2 disks in the benchmark, it may be 0.286ms. But in most random read applications on very large dataset, OS cac

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-17 Thread Jonathan Ellis
On Fri, Jul 16, 2010 at 6:06 PM, Oren Benjamin wrote: > The first goal was to reproduce the test described on spyced here: > http://spyced.blogspot.com/2010/01/cassandra-05.html > > Using Cassandra 0.6.3, a 4GB/160GB cloud server > (http://www.rackspacecloud.com/cloud_hosting_products/servers/pr

Re: Cassandra benchmarking on Rackspace Cloud

2010-07-16 Thread Schubert Zhang
I think your read throughput is very high, and it may be unauthentic. For random read, the disk seek will always be the bottleneck (100% utils) There will be about 3 random disk-seeks for a random read, and aout 10ms for one seek. So, there will be 30ms for a random read. If you have only one dis

Cassandra benchmarking on Rackspace Cloud

2010-07-16 Thread Oren Benjamin
I've been doing quite a bit of benchmarking of Cassandra in the cloud using stress.py I'm working on a comprehensive spreadsheet of results with a template that others can add to, but for now I thought I'd post some of the basic results here to get some feedback from others. The first goal was