There were some perf regressions from 8099 (storage engine rewrite) that
were addressed around 3.10

https://issues.apache.org/jira/browse/CASSANDRA-12269

https://issues.apache.org/jira/browse/CASSANDRA-9766

To pick up those fixes, you'd want to benchmark 3.11.1 instead of 3.0.15


On Tue, Oct 17, 2017 at 8:04 PM, Yuji Ito <y...@imagine-orb.com> wrote:

> Hi all,
>
> I'm comparing performance between Cassandra 2.2.10 and 3.0.15.
> SELECT of 3.0.15 is faster than 2.2.10.
> However, conditional INSERT and UPDATE of 3.0.15 are slower than 2.2.10.
> Is it expected? If so, I want know why.
>
> I'm trying to measure performance for non-conditional operation next.
>
> Environment:
> - 3 nodes in a single cluster
> - AWS EC2 i3.large (2 cores, 30GB memory, NVMe SSD)
>   - Cassandra commitlog and data are stored in NVMe SSD
>
> Configuration:
> - Replication factor: 3
> - commitlog_sync: batch
> - conccurent_reads: 512
> - concurrent_writes: 512
>
> Request:
> - SELECT "id", "val" from testdb.testtbl WHERE "id" = id with CL.SERIAL
> - INSERT INTO testdb.testtbl ("id", "val") VALUES (id, val) IF NOT EXIST
> - UPDATE testdb.testtbl  SET "val" = val WHERE "id" = id IF EXISTS
>   - Client program requests these operations via Java driver
>
> Result:
>
> - INSERT throughput [operations per sec]
>
> | Concurrency | 2.2.10 [op/s] |3.0.15 [op/s] |
> | 1 | 303 | 263 |
> | 2 | 526 | 454 |
> | 4 | 784 | 666 |
> | 8 | 1066 | 888 |
> | 16 | 1391 | 1194 |
> | 32 | 1649 | 1428 |
> | 64 |1802 | 1553 |
>
> - UPDATE throughput
>
> | Concurrency | 2.2.10 [op/s] | 3.0.15 [op/s] |
> | 1 | 322 | 277 |
> | 2 | 606 | 512 |
> | 4 | 1000 | 727 |
> | 8 | 1250 | 1012 |
> | 16| 1495|1280 |
> | 32| 2147|1739 |
> | 64| 3248|2949 |
>
> - SELECT throughput
>
> | Concurrency | 2.2.10 [op/s] | 3.0.15 [op/s] |
> | 1 | 454 | 476 |
> | 2 | 869 | 909 |
> | 4 | 1333 | 1333 |
> | 8 | 1818 | 1777 |
> | 16 | 2424 | 2539 |
> | 32 | 2990 | 3018 |
> | 64 | 3422 | 3699 |
>
> Thanks,
> Yuji
>

Reply via email to