[MXS-4083] CPU utilization high on MaxScale host Created: 2022-04-07  Updated: 2022-10-28  Resolved: 2022-10-10

Status: Closed
Project: MariaDB MaxScale
Component/s: maxbase
Affects Version/s: 6.4.2, 22.08.1
Fix Version/s: 6.4.3, 22.08.2

Type: Bug Priority: Major
Reporter: Pon Suresh Pandian (Inactive) Assignee: Niclas Antti
Resolution: Cannot Reproduce Votes: 3
Labels: None
Environment:

Ubuntu 20.04


Attachments: JPEG File MaxScale_avg_load_diff_2.5_6.2.jpg     JPEG File MaxScale_cpu_load_diff_2.5_6.2_100_days.jpg     JPEG File MaxScale_cpu_load_diff_2.5_6.2_30_days.jpg     JPEG File MaxScale_query_execution_time_30_days.jpg     PNG File Screen-1.png     PNG File image-2022-04-26-20-32-30-548.png     Text File max_config.txt     PNG File screenshot-1.png    
Sprint: MXS-SPRINT-165, MXS-SPRINT-166, MXS-SPRINT-167

 Description   

Hi Team,

MaxScale was upgraded from v2.5.18 to v6.2.3 post upgrade CPU utilization was high on maxscale host and query response time also increased.

Here I have attached the maxscale config, server load, CPU usage & query response time graphs please check it.



 Comments   
Comment by acsfer [ 2022-04-21 ]

I can observe very similar (bad) results comparing v2.5 to v6.2.4.

Comment by VASUDEVARAO [ 2022-04-26 ]

We also observed very similar results comparing from v2.3.3 to v2.5.14 .We have recently upgraded Maxscale from lower to 2.5.14 .After that we observed this .Soon will add screen shots.

Comment by VASUDEVARAO [ 2022-04-26 ]

Here is our graphs .

Comment by acsfer [ 2022-05-09 ]

Our config is:

[maxscale]
threads = auto
admin_gui = false
skip_name_resolve = true
query_retries = 10
 
[srv1]
type = server
address = 10.1.0.5
port = 3306
extra_port = 3307
protocol = MariaDBBackend
priority = 1
persistpoolmax = 128
persistmaxtime = 3600
 
[srv2]
type = server
address = 10.1.0.6
port = 3306
extra_port = 3307
protocol = MariaDBBackend
priority = 2
persistpoolmax = 128
persistmaxtime = 3600
 
[srv3]
type = server
address = 10.1.0.7
port = 3306
extra_port = 3307
protocol = MariaDBBackend
priority = 3
persistpoolmax = 128
persistmaxtime = 3600
 
[monitor]
type = monitor
module = galeramon
servers = srv1,srv2,srv3
user = maxscale
password = 2B11DE2A3E9F865D230564EA12FFA2A18B8E90D422C4A59C92E5FA08284D4862F8F2DA33C684D411B01C0D111FCC055C
monitor_interval = 2000ms
use_priority = true
 
[readwritesplit]
type = service
router = readwritesplit
servers = srv1,srv2,srv3
user = maxscale
password = 2B11DE2A3E9F865D23
delayed_retry = true
delayed_retry_timeout = 15s
retry_failed_reads = true
transaction_replay = true
transaction_replay_max_size = 10Mi
transaction_replay_attempts = 10
transaction_replay_retry_on_deadlock = true
 
[listener]
type = listener
service = readwritesplit
protocol = MariaDBClient
address = 127.0.0.1
port = 3306

Comment by Niclas Antti [ 2022-09-26 ]

Testing with the configurations in the support cases do not indicate any major CPU utilization issues.
In the succession from 2.5 -> 6 -> 22.08 at each step there is a slight increase CPU usage. This very small increase is mainly explained by the added feature set, especially in Readwritesplit.
Some further tests will be done later with more targeted SQL loads. Sysbench and the like are not indicative of most real-world loads.

Generated at Thu Feb 08 04:26:04 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.