Hello Nan,

Why don't you check Geode statistics

http://geode.apache.org/docs/guide/11/reference/statistics/statistics_list.html

Maybe, disk I/O or some other causes could be involved...



-- 
Akihiro Kitada  |  Staff Customer Engineer |  +81 80 3716 3736
Support.Pivotal.io <http://support.pivotal.io/>  |  Mon-Fri  9:00am to
5:30pm JST  |  1-877-477-2269
[image: support] <https://support.pivotal.io/> [image: twitter]
<https://twitter.com/pivotal> [image: linkedin]
<https://www.linkedin.com/company/3048967> [image: facebook]
<https://www.facebook.com/pivotalsoftware> [image: google plus]
<https://plus.google.com/+Pivotal> [image: youtube]
<https://www.youtube.com/playlist?list=PLAdzTan_eSPScpj2J50ErtzR9ANSzv3kl>


2017-06-09 6:09 GMT+09:00 Xu, Nan <[email protected]>:

> Hi,
>
>
>
>    I am trying to see the limit of geode performance.
>
>
>
> Here is what I did.
>
>
>
> Single machine:  OS: centos 7.     8 core.   2.6G.
>
>
>
> Create a single locator  and a single server and a single region.
>
>
>
> Only configuration is
>
> Server conserve-sockets= false
>
> Region is    PARTITION
>
> Client and server running on the same machine.
>
>
>
>
>
> In my client.  I setup a 16 thread pool to get data.  But I can only push
> the cpu to around 90—93% on the centos.
>
>
>
> Why I cannot push it to 100%? I am suspecting
>
> 1.       The tcp connection between the server and client is not fast
> enough. Maybe increase the number of tcp connection?  I only see one
> connection between client and server.
>
> 2.       There are some lock at the server?  I realize that I can push
> the cpu from 50% to 90 by just adding the setPoolThreadLocalConnections(true),
> so maybe there are some other setting I am missing.
>
>
>
> Thanks,
>
> Nan
>
>
>
> Client side program.
>
>
>
> val cache: ClientCache = new ClientCacheFactory().addPoolLocator(host,
> 10334)
>
>     .set("log-level", "info")
>
>     .set("conserve-sockets", "false")
>
>     .setPoolMinConnections(4)
>
>     .setPoolMaxConnections(12)
>
>     .setPoolThreadLocalConnections(true)
>
>     .create
>
>
>
>   val regionFactory: ClientRegionFactory[String, String] = cache.
> createClientRegionFactory(ClientRegionShortcut.PROXY)
>
>   val region1: Region[String, String] = regionFactory.create(region)
>
>
>
>   implicit val ec = ExecutionContext.fromExecutorService(Executors.
> newFixedThreadPool(16))
>
>   var j = new AtomicLong(0)
>
>   for (i <- 1 to 16) yield Future {
>
>     while(true){
>
>       val cj = j.addAndGet(1)
>
>       region1.get("" + (rnd.nextInt(2000) + 1))
>
>     }
>
>   }
>
>
>
>
>
>
>
> ------------------------------
> This message, and any attachments, is for the intended recipient(s) only,
> may contain information that is privileged, confidential and/or proprietary
> and subject to important terms and conditions available at
> http://www.bankofamerica.com/emaildisclaimer. If you are not the intended
> recipient, please delete this message.
>

Reply via email to