Joshua McKenzie created CASSANDRA-9648:
------------------------------------------
Summary: Warn if power profile is not High Performance on Windows
Key: CASSANDRA-9648
URL: https://issues.apache.org/jira/browse/CASSANDRA-9648
Project: Cassandra
Issue Type: Improvement
Reporter: Joshua McKenzie
Assignee: Joshua McKenzie
Priority: Minor
Fix For: 2.2.x
Windows' power profiles have a pretty marked impact on application performance
and the CPU frequency throttling is fairly aggressive even in balanced mode. As
we have a large number of threads with varying work rather than a single busy
thread-per-core, the scheduler on Windows sees enough downtime to constantly
struggle w/our user-space operations and the frequency on the system will jump
up and down even when fully saturated from a stress.
I've done some benchmarking of the "Balanced" vs. "High Performance" power
profiles - [link to performance
numbers|https://docs.google.com/spreadsheets/d/1YS8VtdZAgyec-mcnSgtNhQH9LiHstOaiMtlppvEIIM8/edit#gid=0].
Note: reads are not saturating the box (or even impacting resources at all
really) as the CPU's on both stress and node are sitting around 4% usage. Still
have something to figure out there on 2.2.
We have a few ways we can approach this - for the 1st (warn), here's a branch
with warning during startup if non-High Performance power profile detected:
[here|https://github.com/apache/cassandra/compare/trunk...josh-mckenzie:check_power_plan].
Alternatively we could get more aggressive and actually attempt a powercfg /s
to the GUID of the High Performance power profile or refuse to start Cassandra
if we're not in the performance profile. I also briefly pursued using Sigar to
query this information however the documentation for the library is no longer
available (or at least I couldn't find it).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)