service-capacity-modeling 0.3.63__tar.gz → 0.3.65__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/PKG-INFO +1 -1
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/models/org/netflix/evcache.py +4 -9
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling.egg-info/PKG-INFO +1 -1
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/LICENSE +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/README.md +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/__init__.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/capacity_planner.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/__init__.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/__init__.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/pricing/aws/3yr-reserved_ec2.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/pricing/aws/3yr-reserved_zz-overrides.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/profiles.txt +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_c5.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_c5a.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_c5d.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_c5n.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_c6a.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_c6i.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_c6id.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_c7a.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_c7i.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_m4.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_m5.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_m5n.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_m6a.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_m6i.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_m6id.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_m6idn.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_m6in.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_m7a.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_m7i.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_r4.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_r5.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_r5n.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_r6a.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_r6i.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_r6id.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_r6idn.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_r6in.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_r7a.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_r7i.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/manual_drives.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/manual_instances.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/hardware/profiles/shapes/aws/manual_services.json +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/interface.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/models/__init__.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/models/common.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/models/headroom_strategy.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/models/org/__init__.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/models/org/netflix/__init__.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/models/org/netflix/aurora.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/models/org/netflix/cassandra.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/models/org/netflix/counter.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/models/org/netflix/crdb.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/models/org/netflix/ddb.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/models/org/netflix/elasticsearch.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/models/org/netflix/entity.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/models/org/netflix/graphkv.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/models/org/netflix/iso_date_math.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/models/org/netflix/kafka.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/models/org/netflix/key_value.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/models/org/netflix/postgres.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/models/org/netflix/rds.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/models/org/netflix/stateless_java.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/models/org/netflix/time_series.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/models/org/netflix/time_series_config.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/models/org/netflix/wal.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/models/org/netflix/zookeeper.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/models/utils.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/stats.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/tools/__init__.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/tools/auto_shape.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/tools/fetch_pricing.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/tools/generate_missing.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling/tools/instance_families.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling.egg-info/SOURCES.txt +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling.egg-info/dependency_links.txt +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling.egg-info/entry_points.txt +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling.egg-info/requires.txt +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/service_capacity_modeling.egg-info/top_level.txt +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/setup.cfg +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/setup.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/tests/test_arguments.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/tests/test_buffers.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/tests/test_common.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/tests/test_desire_merge.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/tests/test_generate_scenarios.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/tests/test_hardware.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/tests/test_hardware_shapes.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/tests/test_headroom_strategy.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/tests/test_io2.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/tests/test_model_dump.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/tests/test_reproducible.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/tests/test_simulation.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/tests/test_utils.py +0 -0
- {service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/tests/test_working_set.py +0 -0
|
@@ -41,7 +41,6 @@ from service_capacity_modeling.models.common import normalize_cores
|
|
|
41
41
|
from service_capacity_modeling.models.common import simple_network_mbps
|
|
42
42
|
from service_capacity_modeling.models.common import sqrt_staffed_cores
|
|
43
43
|
from service_capacity_modeling.models.common import working_set_from_drive_and_slo
|
|
44
|
-
from service_capacity_modeling.models.utils import next_n
|
|
45
44
|
from service_capacity_modeling.stats import dist_for_interval
|
|
46
45
|
|
|
47
46
|
logger = logging.getLogger(__name__)
|
|
@@ -299,11 +298,7 @@ def _estimate_evcache_cluster_zonal( # noqa: C901,E501 pylint: disable=too-many
|
|
|
299
298
|
# EVCache doesn't use cloud drives to store data, we will have
|
|
300
299
|
# accounted for the data going on drives or memory via working set
|
|
301
300
|
max_local_disk_gib=max_local_disk_gib,
|
|
302
|
-
# EVCache clusters should be balanced per zone
|
|
303
|
-
cluster_size=lambda x: next_n(x, copies_per_region),
|
|
304
301
|
min_count=max(min_count, 0),
|
|
305
|
-
# Sidecars and Variable OS Memory
|
|
306
|
-
reserve_memory=lambda x: base_mem,
|
|
307
302
|
adjusted_disk_io_needed=adjusted_disk_io_needed,
|
|
308
303
|
read_write_ratio=read_write_ratio,
|
|
309
304
|
)
|
|
@@ -534,8 +529,8 @@ class NflxEVCacheCapacityModel(CapacityModel):
|
|
|
534
529
|
ratio=1.25, components=[BufferComponent.storage]
|
|
535
530
|
), # ~80%
|
|
536
531
|
"memory": Buffer(
|
|
537
|
-
ratio=1.
|
|
538
|
-
), #
|
|
532
|
+
ratio=1.25, components=[BufferComponent.memory]
|
|
533
|
+
), # 80%
|
|
539
534
|
"network": Buffer(
|
|
540
535
|
ratio=1.5, components=[BufferComponent.network]
|
|
541
536
|
), # ~70%
|
|
@@ -607,8 +602,8 @@ class NflxEVCacheCapacityModel(CapacityModel):
|
|
|
607
602
|
ratio=1.25, components=[BufferComponent.storage]
|
|
608
603
|
), # ~80%
|
|
609
604
|
"memory": Buffer(
|
|
610
|
-
ratio=1.
|
|
611
|
-
), #
|
|
605
|
+
ratio=1.2, components=[BufferComponent.memory]
|
|
606
|
+
), # 80%
|
|
612
607
|
"network": Buffer(
|
|
613
608
|
ratio=1.5, components=[BufferComponent.network]
|
|
614
609
|
), # ~70%
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/tests/test_arguments.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/tests/test_desire_merge.py
RENAMED
|
File without changes
|
|
File without changes
|
{service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/tests/test_hardware.py
RENAMED
|
File without changes
|
{service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/tests/test_hardware_shapes.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/tests/test_model_dump.py
RENAMED
|
File without changes
|
{service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/tests/test_reproducible.py
RENAMED
|
File without changes
|
{service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/tests/test_simulation.py
RENAMED
|
File without changes
|
|
File without changes
|
{service_capacity_modeling-0.3.63 → service_capacity_modeling-0.3.65}/tests/test_working_set.py
RENAMED
|
File without changes
|