RE: CPU Wait troubleshoot

From: Osborne, Chris <Chris.Osborne_at_sky.uk>
Date: Mon, 18 Apr 2016 15:51:23 +0000
Message-ID: <608208D242735D458CDE934D20B2FDAA1D1355DC_at_WPMBX040.bskyb.com>



Hi Stefan,

Fair enough, I was aware that I was oversimplifying as I was just dashing off a quick email, and perhaps simplified too much :-) Clearly there are other 'normal' wait states that sessions can be in. Log File Sync being a big one that springs to mind.

Still I find the ratio of IO to CPU to be a good enough rule of thumb to get you started, and the real answers come from testing as each app will be slightly different.

I should have been clearer that I was suggesting a 'starting point' for testing and not a hard limit. Still this is better IMO, than the opposite of starting way to high, and tuning down the way (or more likely, up the way) when you start to get connection pool exhaustion.

Chris

-----Original Message-----
From: Stefan Koehler [mailto:contact_at_soocs.de] Sent: 18 April 2016 16:46
To: Osborne, Chris <Chris.Osborne_at_sky.uk>; cstephens16_at_gmail.com Cc: oracle-l_at_freelists.org
Subject: RE: CPU Wait troubleshoot

Hello Christopher,

> My understanding of the RWP recommendation is that max session should
> be between 1 and 10 times the number of cores, depending on the percentage time spent on IO versus CPU for your app.

Almost correct. It is not just about I/O versus CPU as there are many many other non-CPU (waiting) states as well. Max session of 1 time the number of cores would mean an absolute perfect world as the application would have no waiting state at all, which is not very "real world". In addition you also have to consider multi-threading up to a specific point. Max session of a small multiple up to 10 times the number of cores would be the range.

> On the rare occasions when we get in early and have time for full
> testing, I like to have each app server with a connection pool set very low, and then test for performance versus requirement, and then only go up the way if we don't meet the requirements.

You can only go up, if the "very low" connection pool is not already exhausting the hardware (CPU) capacity. SwingBench (with high frequency OE) is a nice reproducible example of the RWP guideline. Max session of 10 times the number of cores is using round about 70 to 80 percent of the CPU capacity in my recent benchmarks.

Best Regards
Stefan Koehler

Freelance Oracle performance consultant and researcher Homepage: http://www.soocs.de
Twitter: _at_OracleSK

> "Osborne, Chris" <Chris.Osborne_at_sky.uk> hat am 18. April 2016 um 16:29 geschrieben:
>
> My understanding of the RWP recommendation is that max session should
> be between 1 and 10 times the number of cores, depending on the percentage time spent on IO versus CPU for your app.
>
> On a 32 Core system, 320 sessions max, if they are IO intensive.
> However, if each session is roughly 50/50 on IO versus CPU, you'll probably want a smaller number than 320. As always, testing is your friend.
>
> On the rare occasions when we get in early and have time for full
> testing, I like to have each app server with a connection pool set very low, and then test for performance versus requirement, and then only go up the way if we don't meet the requirements.
>
> Christopher Osborne

Information in this email including any attachments may be privileged, confidential and is intended exclusively for the addressee. The views expressed may not be official policy, but the personal views of the originator. If you have received it in error, please notify the sender by return e-mail and delete it from your system. You should not reproduce, distribute, store, retransmit, use or disclose its contents to anyone. Please note we reserve the right to monitor all e-mail communication through our internal and external networks. SKY and the SKY marks are trademarks of Sky plc and Sky International AG and are used under licence. Sky UK Limited (Registration No. 2906991), Sky-In-Home Service Limited (Registration No. 2067075) and Sky Subscribers Services Limited (Registration No. 2340150) are direct or indirect subsidiaries of Sky plc (Registration No. 2247735). All of the companies mentioned in this paragraph are incorporated in England and Wales and share the same registered office at Grant Way, Isleworth, Middlesex TW7 5QD. †Ûiÿü0ÁúÞzX¬¶Ê+ƒün– {ú+iÉ^ Received on Mon Apr 18 2016 - 17:51:23 CEST

Original text of this message