Hi Nan,

93% seems like pretty good CPU utilization. I can't speculate as to exactly
what the rest of it is being used for, and I don't know exactly how
performance metrics are gathered, but you won't generally get 100% for
reasons I don't understand that well either. I would speculate that factors
could be OS usage, timeslices, I/O, interrupts, the way stats are gathered
and the time that is used gathering stats themselves, locking... but I
don't know. I think throughput numbers are probably more meaningful than
CPU percentage usage.

Best,
Galen

On Thu, Jun 8, 2017 at 5:13 PM, Akihiro Kitada <[email protected]> wrote:

> 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
> <+81%2080-3716-3736>
> Support.Pivotal.io <http://support.pivotal.io/>  |  Mon-Fri  9:00am to
> 5:30pm JST  |  1-877-477-2269 <(877)%20477-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.fromExecutorS
>> ervice(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