-
New Feature
-
-
Major
-
Resolution:
Unresolved
-
None
-
None
-
Implement periodic CPU count detection (e.g., via syscalls or OS notifications).
See https://jira.mariadb.org/browse/MDEV-36194 for more information on use case.
Add system variables:
*thread_pool_auto_scale_method=
{OFF, CPU_count, hill_climbing}
(default: OFF).
- thread_pool_auto_scale_factor=N (default: 1).
- Set thread_pool_size = CPU_count * thread_pool_auto_scale_factor when CPU_count mode is enabled.
- Reject manual SET GLOBAL thread_pool_size when auto-scaling is active.
- Make polling frequency configurable (e.g., once per second, per minute), defaulting to once per minute.
Acceptance Criteria
- thread_pool_auto_scale_method=CPU_count activates CPU-based scaling.
- Example: CPU_count=8, thread_pool_auto_scale_factor=2, thread_pool_size=16.
- Manual SET GLOBAL thread_pool_size fails with an error when auto-scaling is enabled.
- Polling frequency defaults to once per minute and is configurable.
- Ensure the system variables are manually configurable
- blocks
-
MDEV-36194
Automatic Scaling for Dynamic Environments
-
-
Open
No workflow transitions have been executed yet.
{"report":{"fcp":856.6999998092651,"ttfb":158.80000019073486,"pageVisibility":"visible","entityId":133050,"key":"jira.project.issue.view-issue","isInitial":true,"threshold":1000,"elementTimings":{},"userDeviceMemory":8,"userDeviceProcessors":64,"apdex":1,"journeyId":"15a7f4c9-5570-4627-bb35-5f4c249c0488","navigationType":0,"readyForUser":912.5999994277954,"redirectCount":0,"resourceLoadedEnd":919.3999996185303,"resourceLoadedStart":166.89999961853027,"resourceTiming":[{"duration":167.19999980926514,"initiatorType":"link","name":"https://jira.mariadb.org/s/2c21342762a6a02add1c328bed317ffd-CDN/lu2cib/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/css/_super/batch.css","startTime":166.89999961853027,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":166.89999961853027,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":334.0999994277954,"responseStart":0,"secureConnectionStart":0},{"duration":167.60000038146973,"initiatorType":"link","name":"https://jira.mariadb.org/s/7ebd35e77e471bc30ff0eba799ebc151-CDN/lu2cib/820016/12ta74/2bf333562ca6724060a9d5f1535471f6/_/download/contextbatch/css/jira.browse.project,project.issue.navigator,jira.view.issue,jira.general,jira.global,atl.general,-_super/batch.css?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&slack-enabled=true","startTime":167.19999980926514,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":167.19999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":334.80000019073486,"responseStart":0,"secureConnectionStart":0},{"duration":176.5,"initiatorType":"script","name":"https://jira.mariadb.org/s/0917945aaa57108d00c5076fea35e069-CDN/lu2cib/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/js/_super/batch.js?locale=en","startTime":167.39999961853027,"connectEnd":167.39999961853027,"connectStart":167.39999961853027,"domainLookupEnd":167.39999961853027,"domainLookupStart":167.39999961853027,"fetchStart":167.39999961853027,"redirectEnd":0,"redirectStart":0,"requestStart":167.39999961853027,"responseEnd":343.8999996185303,"responseStart":343.8999996185303,"secureConnectionStart":167.39999961853027},{"duration":255.0999994277954,"initiatorType":"script","name":"https://jira.mariadb.org/s/2d8175ec2fa4c816e8023260bd8c1786-CDN/lu2cib/820016/12ta74/2bf333562ca6724060a9d5f1535471f6/_/download/contextbatch/js/jira.browse.project,project.issue.navigator,jira.view.issue,jira.general,jira.global,atl.general,-_super/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&locale=en&slack-enabled=true","startTime":167.5,"connectEnd":167.5,"connectStart":167.5,"domainLookupEnd":167.5,"domainLookupStart":167.5,"fetchStart":167.5,"redirectEnd":0,"redirectStart":0,"requestStart":167.5,"responseEnd":422.5999994277954,"responseStart":422.5999994277954,"secureConnectionStart":167.5},{"duration":259.0999994277954,"initiatorType":"script","name":"https://jira.mariadb.org/s/a9324d6758d385eb45c462685ad88f1d-CDN/lu2cib/820016/12ta74/c92c0caa9a024ae85b0ebdbed7fb4bd7/_/download/contextbatch/js/atl.global,-_super/batch.js?locale=en","startTime":167.80000019073486,"connectEnd":167.80000019073486,"connectStart":167.80000019073486,"domainLookupEnd":167.80000019073486,"domainLookupStart":167.80000019073486,"fetchStart":167.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":167.80000019073486,"responseEnd":426.8999996185303,"responseStart":426.8999996185303,"secureConnectionStart":167.80000019073486},{"duration":262,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-en/jira.webresources:calendar-en.js","startTime":168,"connectEnd":168,"connectStart":168,"domainLookupEnd":168,"domainLookupStart":168,"fetchStart":168,"redirectEnd":0,"redirectStart":0,"requestStart":168,"responseEnd":430,"responseStart":430,"secureConnectionStart":168},{"duration":262.70000076293945,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-localisation-moment/jira.webresources:calendar-localisation-moment.js","startTime":168.0999994277954,"connectEnd":168.0999994277954,"connectStart":168.0999994277954,"domainLookupEnd":168.0999994277954,"domainLookupStart":168.0999994277954,"fetchStart":168.0999994277954,"redirectEnd":0,"redirectStart":0,"requestStart":168.0999994277954,"responseEnd":430.80000019073486,"responseStart":430.80000019073486,"secureConnectionStart":168.0999994277954},{"duration":332.19999980926514,"initiatorType":"link","name":"https://jira.mariadb.org/s/b04b06a02d1959df322d9cded3aeecc1-CDN/lu2cib/820016/12ta74/a2ff6aa845ffc9a1d22fe23d9ee791fc/_/download/contextbatch/css/jira.global.look-and-feel,-_super/batch.css","startTime":168.30000019073486,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":168.30000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":500.5,"responseStart":0,"secureConnectionStart":0},{"duration":263.5,"initiatorType":"script","name":"https://jira.mariadb.org/rest/api/1.0/shortcuts/820016/47140b6e0a9bc2e4913da06536125810/shortcuts.js?context=issuenavigation&context=issueaction","startTime":168.39999961853027,"connectEnd":168.39999961853027,"connectStart":168.39999961853027,"domainLookupEnd":168.39999961853027,"domainLookupStart":168.39999961853027,"fetchStart":168.39999961853027,"redirectEnd":0,"redirectStart":0,"requestStart":168.39999961853027,"responseEnd":431.8999996185303,"responseStart":431.8999996185303,"secureConnectionStart":168.39999961853027},{"duration":332,"initiatorType":"link","name":"https://jira.mariadb.org/s/3ac36323ba5e4eb0af2aa7ac7211b4bb-CDN/lu2cib/820016/12ta74/d176f0986478cc64f24226b3d20c140d/_/download/contextbatch/css/com.atlassian.jira.projects.sidebar.init,-_super,-project.issue.navigator,-jira.view.issue/batch.css?jira.create.linked.issue=true","startTime":168.5999994277954,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":168.5999994277954,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":500.5999994277954,"responseStart":0,"secureConnectionStart":0},{"duration":264.19999980926514,"initiatorType":"script","name":"https://jira.mariadb.org/s/5d5e8fe91fbc506585e83ea3b62ccc4b-CDN/lu2cib/820016/12ta74/d176f0986478cc64f24226b3d20c140d/_/download/contextbatch/js/com.atlassian.jira.projects.sidebar.init,-_super,-project.issue.navigator,-jira.view.issue/batch.js?jira.create.linked.issue=true&locale=en","startTime":168.69999980926514,"connectEnd":168.69999980926514,"connectStart":168.69999980926514,"domainLookupEnd":168.69999980926514,"domainLookupStart":168.69999980926514,"fetchStart":168.69999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":168.69999980926514,"responseEnd":432.8999996185303,"responseStart":432.8999996185303,"secureConnectionStart":168.69999980926514},{"duration":747.5,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-js/jira.webresources:bigpipe-js.js","startTime":169.69999980926514,"connectEnd":169.69999980926514,"connectStart":169.69999980926514,"domainLookupEnd":169.69999980926514,"domainLookupStart":169.69999980926514,"fetchStart":169.69999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":169.69999980926514,"responseEnd":917.1999998092651,"responseStart":917.1999998092651,"secureConnectionStart":169.69999980926514},{"duration":748.0999994277954,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-init/jira.webresources:bigpipe-init.js","startTime":169.80000019073486,"connectEnd":169.80000019073486,"connectStart":169.80000019073486,"domainLookupEnd":169.80000019073486,"domainLookupStart":169.80000019073486,"fetchStart":169.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":169.80000019073486,"responseEnd":917.8999996185303,"responseStart":917.8999996185303,"secureConnectionStart":169.80000019073486},{"duration":175.79999923706055,"initiatorType":"xmlhttprequest","name":"https://jira.mariadb.org/rest/webResources/1.0/resources","startTime":533.8000001907349,"connectEnd":533.8000001907349,"connectStart":533.8000001907349,"domainLookupEnd":533.8000001907349,"domainLookupStart":533.8000001907349,"fetchStart":533.8000001907349,"redirectEnd":0,"redirectStart":0,"requestStart":533.8000001907349,"responseEnd":709.5999994277954,"responseStart":709.5999994277954,"secureConnectionStart":533.8000001907349},{"duration":114.19999980926514,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/e65b778d185daf5aee24936755b43da6/_/download/contextbatch/js/browser-metrics-plugin.contrib,-_super,-project.issue.navigator,-jira.view.issue,-atl.general/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&slack-enabled=true","startTime":805.1999998092651,"connectEnd":805.1999998092651,"connectStart":805.1999998092651,"domainLookupEnd":805.1999998092651,"domainLookupStart":805.1999998092651,"fetchStart":805.1999998092651,"redirectEnd":0,"redirectStart":0,"requestStart":805.1999998092651,"responseEnd":919.3999996185303,"responseStart":919.3999996185303,"secureConnectionStart":805.1999998092651},{"duration":142.69999980926514,"initiatorType":"script","name":"https://www.google-analytics.com/analytics.js","startTime":845.1999998092651,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":845.1999998092651,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":987.8999996185303,"responseStart":0,"secureConnectionStart":0}],"fetchStart":0,"domainLookupStart":0,"domainLookupEnd":0,"connectStart":0,"connectEnd":0,"requestStart":20,"responseStart":159,"responseEnd":160,"domLoading":164,"domInteractive":1011,"domContentLoadedEventStart":1011,"domContentLoadedEventEnd":1051,"domComplete":1234,"loadEventStart":1234,"loadEventEnd":1235,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[{"name":"bigPipe.sidebar-id.start","time":992.8999996185303},{"name":"bigPipe.sidebar-id.end","time":993.8000001907349},{"name":"bigPipe.activity-panel-pipe-id.start","time":993.8999996185303},{"name":"bigPipe.activity-panel-pipe-id.end","time":994.5},{"name":"activityTabFullyLoaded","time":1062.3999996185303}],"measures":[],"correlationId":"8a27e0f53d7fbe","effectiveType":"4g","downlink":10,"rtt":0,"serverDuration":86,"dbReadsTimeInMs":11,"dbConnsTimeInMs":18,"applicationHash":"9d11dbea5f4be3d4cc21f03a88dd11d8c8687422","experiments":[]}}