You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by envio user <en...@gmail.com> on 2010/01/20 16:57:41 UTC
issue with get_slice() performance.
All,
I downloaded 0.5.0 final and tried following test:
Machine : Quad Core(64bit) , 8GB RAM, signle node.
Data model: A single SCF with CompareWith="BytesType" and
CompareSubcolumnsWith="TimeUUIDType"
Sample data stored:
FF = {
'1' : {
'ALL' => {
'TimeUUID1' => '16bytesstring',
......
'TimeUUID25' => '16bytesstring',
}
}
},
....................
'100K': {
..............
}
}
Client: PHP
I loaded with 100K keys with 25 columns per key and value for each of
the sub-column is 16 bytes string.
I populated the data using batch_insert(), and no issues with writes.
For my requirement, I need to fecth all 25 columns.
For this purpose, am using get_slice() method.
Performance of get_slice() is way below our expections. We were
expecting, at least 1000 get_slices/second. "ROW-READ-STAGE" are
piling up.
vmstat and iostat on the machine looks normal.
nodeprobe -host localhost -port 8080 info
69914105239252561041379405595605110341
Load : 200.9 MB
Generation No : 1263997349
Uptime (seconds) : 2627
Heap Memory (MB) : 117.18 / 1023.06
I tried to fecth 500 get_slices() per second:
===============================
tpstats:
--------
ROW-READ-STAGE 16 250 94305
.............
ROW-READ-STAGE 16 244 112190
Load test stats:
Name | highest 10sec mean | lowest 10sec mean | Highest Rate |
Mean | Count
===============================================================
request | 48.23 sec | 6.94 msec | 332.6
/ sec | 2.70 sec | 61825
Please let me know how can I improve the performance of get_slice().
thanks,
-Aita
Re: issue with get_slice() performance.
Posted by Jonathan Ellis <jb...@gmail.com>.
what does iostat -x say %util and %await is?
what does top say cpu is?
does tpstats show non-zero compaction activity?
if cpu is not close to 100% try increasing ConcurrentReads
since you have plenty of ram, increase the KeysCachedFraction of your
CFs to 0.1, 0.2, or even more (until it stops improving performance)
-Jonathan
On Wed, Jan 20, 2010 at 9:57 AM, envio user <en...@gmail.com> wrote:
> All,
> I downloaded 0.5.0 final and tried following test:
>
> Machine : Quad Core(64bit) , 8GB RAM, signle node.
>
> Data model: A single SCF with CompareWith="BytesType" and
> CompareSubcolumnsWith="TimeUUIDType"
>
> Sample data stored:
> FF = {
> '1' : {
> 'ALL' => {
> 'TimeUUID1' => '16bytesstring',
> ......
> 'TimeUUID25' => '16bytesstring',
> }
> }
> },
> ....................
> '100K': {
> ..............
> }
> }
>
>
> Client: PHP
>
> I loaded with 100K keys with 25 columns per key and value for each of
> the sub-column is 16 bytes string.
> I populated the data using batch_insert(), and no issues with writes.
> For my requirement, I need to fecth all 25 columns.
> For this purpose, am using get_slice() method.
> Performance of get_slice() is way below our expections. We were
> expecting, at least 1000 get_slices/second. "ROW-READ-STAGE" are
> piling up.
> vmstat and iostat on the machine looks normal.
>
> nodeprobe -host localhost -port 8080 info
>
> 69914105239252561041379405595605110341
> Load : 200.9 MB
> Generation No : 1263997349
> Uptime (seconds) : 2627
> Heap Memory (MB) : 117.18 / 1023.06
>
> I tried to fecth 500 get_slices() per second:
> ===============================
>
> tpstats:
> --------
> ROW-READ-STAGE 16 250 94305
> .............
> ROW-READ-STAGE 16 244 112190
>
> Load test stats:
>
> Name | highest 10sec mean | lowest 10sec mean | Highest Rate |
> Mean | Count
> ===============================================================
> request | 48.23 sec | 6.94 msec | 332.6
> / sec | 2.70 sec | 61825
>
> Please let me know how can I improve the performance of get_slice().
>
> thanks,
> -Aita
>