[Logo] Terracotta Discussion Forums
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
[Expert]
Running YCSB benchmark  XML
Forum Index -> General
Author Message
jdeppe

neo

Joined: 07/25/2012 08:54:46
Messages: 8
Offline

Hi,

I'm trying to run the YCSB benchmark using a basic Terracotta ehcache client. My setup consists of a single client system and 3 servers. Each server has a mirror group defined (please see the attached config). The requirements are:

- No disk persistence required
- I wish to maintain a redundant copy of each piece of data
- I don't want any data to be evicted
- I want the client to have an empty cache (ie. simply act as a proxy)

YCSB is a fairly well known benchmark which has just a few knobs to dial. I'm running it using 10, 20, 30... 60 client threads and the number of records being inserted is a function of the number of threads.

So, what I'm seeing is very flat performance as I increase the threads. Neither client or server systems seem to be maxed - in fact they're not even running that hard.

Profiling the client it seems that the problem is serious contention in com.tc.object.TCObjectServerMapImpl.doLogicalPutUnlocked. Is this to be expected? Would the benchmark run better with separate client JVMs (and fewer threads in each client)? Is there something in my config which is causing this?

I've attached my various relevant config files as well as the YCSB client code I'm using.

Thanks for any insights.
--Jens
 Filename ehcache.xml [Disk] Download
 Description
 Filesize 691 bytes
 Downloaded:  42 time(s)

 Filename tc-config-ycsb.xml [Disk] Download
 Description
 Filesize 3 Kbytes
 Downloaded:  44 time(s)

 Filename TerracottaClient.java [Disk] Download
 Description
 Filesize 3 Kbytes
 Downloaded:  48 time(s)

sghose

journeyman

Joined: 06/26/2012 11:11:30
Messages: 46
Offline

Hi Jens,

What is the version of Terracotta you are running? What is the size of the dataset?

Cheers

Sourabh Ghose - Terracotta Solution Architect
[WWW]
jdeppe

neo

Joined: 07/25/2012 08:54:46
Messages: 8
Offline

Sorry - I'm using TC 3.7.0. The dataset size is a function of the # of threads * 40000. So with 60 threads I have 2.4M objects.
sghose

journeyman

Joined: 06/26/2012 11:11:30
Messages: 46
Offline

Seems like you are using DSO mode. Please use express mode.

Cheers

Sourabh Ghose - Terracotta Solution Architect
[WWW]
jdeppe

neo

Joined: 07/25/2012 08:54:46
Messages: 8
Offline

Why do you say that? I'm not consciously using DSO mode. How would I change to express?
sghose

journeyman

Joined: 06/26/2012 11:11:30
Messages: 46
Offline

What is the reason for you to be using these tags in tc config?

<application>
<dso>
<instrumented-classes>
<include>
<class-expression>HelloEhcacheTerra</class-expression>
</include>
<!-- <include> <class-expression>HelloEhcacheTerra$EhcacheValue</class-expression> </include> -->
</instrumented-classes>

<locks>
<autolock>
<lock-level>write</lock-level>
<method-expression>void HelloEhcacheTerra.main(..)</method-expression>
</autolock>
</locks>
</dso>
</application>



In express mode you just need run the terracotta-ee-3.7.0-installer.jar to install TC, and bring up the TSA. Follow these steps.

http://terracotta.org/documentation/enterprise-ehcache/get-started

Cheers

Sourabh Ghose - Terracotta Solution Architect
[WWW]
 
Forum Index -> General
Go to:   
Powered by JForum 2.1.7 © JForum Team