[MDEV-21871] performance regression with write-heavy workload Created: 2020-03-04  Updated: 2020-03-17  Resolved: 2020-03-17

Status: Closed
Project: MariaDB Server
Component/s: N/A
Affects Version/s: 10.2.30, 10.2.31, 10.3.21, 10.3.22, 10.4.11, 10.4.12
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Axel Schwenke Assignee: Axel Schwenke
Resolution: Cannot Reproduce Votes: 0
Labels: None


 Description   

The regression test suite shows a performance regression in the latest MariaDB 10.3 releases:

Test 't_writes-binlog-multi' - sysbench OLTP write-only, with sync
 binlog; 9 index-update, 9 non-index-update, 1 delete, 1 insert
32 tables, 10 mio rows total, engine InnoDB/XtraDB (builtin)
numbers are queries per second
 
#thread count           1       8       16      32      64      128     256
mariadb-10.3.17         3981.3  19629   34474   59360   103572  150720  170310
mariadb-10.3.18         4114.1  19941   35026   62136   107446  159550  175052
mariadb-10.3.20         3921.3  19920   34273   58896   104524  148425  169439
mariadb-10.3.21         3615.8  18607   32346   57741   96685   136061  152842
mariadb-10.3.22         3614.3  18262   32518   57722   95169   132162  150430
 
--------------------------------------------------------------------------------
Test 't_writes-innodb-multi' - sysbench OLTP write-only
9 index-update, 9 non-index-update, 1 delete, 1 insert
32 tables, 10 mio rows total, engine InnoDB/XtraDB (builtin)
numbers are queries per second
 
#thread count           1       8       16      32      64      128     256
mariadb-10.3.17         5306.6  31511   57343   97834   152824  194232  200431
mariadb-10.3.18         4948.0  30993   56402   96689   152223  195664  200175
mariadb-10.3.20         5056.2  31240   55293   96268   155259  195742  200461
mariadb-10.3.21         4715.6  28715   54737   92119   143228  180202  198101
mariadb-10.3.22         4781.9  28634   55107   92140   143255  183328  199923
 
--------------------------------------------------------------------------------
Test 't_writes-innodb-single' - sysbench OLTP write-only
9 index-update, 9 non-index-update, 1 delete, 1 insert
single table, 10 mio rows, engine InnoDB/XtraDB (builtin)
numbers are queries per second
 
#thread count           1       8       16      32      64      128     256
mariadb-10.3.17         5097.1  31732   58423   98199   139547  170508  158568
mariadb-10.3.18         4846.8  31287   56229   97000   144505  172019  159114
mariadb-10.3.20         4913.1  31128   55429   96989   146488  173609  158868
mariadb-10.3.21         4628.0  29565   55305   92046   136048  156641  156165
mariadb-10.3.22         4550.2  28813   55617   90734   134225  158246  154156

very similar results from the last two 10.4 releases:

Test 't_writes-binlog-multi' - sysbench OLTP write-only, with synchronous binlog
9 index-update, 9 non-index-update, 1 delete, 1 insert
32 tables, 10 mio rows total, engine InnoDB/XtraDB (builtin)
numbers are queries per second
 
#thread count           1       8       16      32      64      128     256
mariadb-10.4.7          3772.0  19167   33851   57831   98901   141644  157131
mariadb-10.4.8          3931.8  19279   33815   59393   102023  146134  158340
mariadb-10.4.10         3687.8  18779   32752   57308   99236   141833  156144
mariadb-10.4.11         3448.7  17719   31374   56053   93724   130839  147938
mariadb-10.4.12         3417.4  17821   31118   55717   92955   129281  147192
 
--------------------------------------------------------------------------------
Test 't_writes-innodb-multi' - sysbench OLTP write-only
9 index-update, 9 non-index-update, 1 delete, 1 insert
32 tables, 10 mio rows total, engine InnoDB/XtraDB (builtin)
numbers are queries per second
 
#thread count           1       8       16      32      64      128     256
mariadb-10.4.7          4944.9  29696   54415   92297   143954  176034  179666
mariadb-10.4.8          4705.1  29055   53710   91576   143359  175503  179719
mariadb-10.4.10         4633.4  29103   52705   91827   141003  176600  178643
mariadb-10.4.11         4501.2  27221   52259   89126   135190  168160  177875
mariadb-10.4.12         4290.4  27374   52429   88275   134493  167507  176984
 
--------------------------------------------------------------------------------
Test 't_writes-innodb-single' - sysbench OLTP write-only
9 index-update, 9 non-index-update, 1 delete, 1 insert
single table, 10 mio rows, engine InnoDB/XtraDB (builtin)
numbers are queries per second
 
#thread count           1       8       16      32      64      128     256
mariadb-10.4.7          4843.2  29405   53805   92809   133482  154214  142502
mariadb-10.4.8          4568.5  28968   52570   91972   134081  153387  141258
mariadb-10.4.10         4410.2  28764   52109   88887   135151  155011  140864
mariadb-10.4.11         4341.6  27129   51370   86261   124251  146377  140315
mariadb-10.4.12         4317.7  26918   51856   86259   125353  143034  140220

and in MariaDB 10.2:

Test 't_writes-binlog-multi' - sysbench OLTP write-only, with synchronous binlog
9 index-update, 9 non-index-update, 1 delete, 1 insert
32 tables, 10 mio rows total, engine InnoDB/XtraDB (builtin)
numbers are queries per second
 
#thread count           1       8       16      32      64      128     256
mariadb-10.2.26         4183.1  19715   35671   61417   105714  156725  175166
mariadb-10.2.27         4143.1  20209   35909   62721   108644  160456  176134
mariadb-10.2.29         3991.6  19761   35042   59299   103147  148919  170063
mariadb-10.2.30         3620.9  18121   32914   57815   94583   131511  152766
mariadb-10.2.31         3577.7  18323   32437   57160   97409   133489  156861
 
--------------------------------------------------------------------------------
Test 't_writes-innodb-multi' - sysbench OLTP write-only
9 index-update, 9 non-index-update, 1 delete, 1 insert
32 tables, 10 mio rows total, engine InnoDB/XtraDB (builtin)
numbers are queries per second
 
#thread count           1       8       16      32      64      128     256
mariadb-10.2.26         5228.2  31738   58144   97528   151953  189701  197309
mariadb-10.2.27         4965.1  31002   57129   98249   150274  193389  196242
mariadb-10.2.29         5139.6  31413   56623   95644   152959  192262  197202
mariadb-10.2.30         4755.1  29460   54904   93899   139599  184062  196155
mariadb-10.2.31         4602.9  28956   56103   92573   146011  186958  196935
 
--------------------------------------------------------------------------------
Test 't_writes-innodb-single' - sysbench OLTP write-only
9 index-update, 9 non-index-update, 1 delete, 1 insert
single table, 10 mio rows, engine InnoDB/XtraDB (builtin)
numbers are queries per second
 
#thread count           1       8       16      32      64      128     256
mariadb-10.2.26         5152.3  31342   58474   100023  148576  169946  156020
mariadb-10.2.27         4900.6  31113   57563   98055   146903  169430  155196
mariadb-10.2.29         4830.6  30876   56264   98356   148704  170945  156097
mariadb-10.2.30         4538.9  29324   55870   93207   136226  158060  150777
mariadb-10.2.31         4608.9  29189   55087   93080   134758  156267  154599



 Comments   
Comment by Axel Schwenke [ 2020-03-10 ]

I was not able to reproduce this on a second machine. I rerun one of the "bad" benchmarks and now the results are good. I will rerun the complete suite for the "bad" releases. This might have been a false alarm.

Comment by Axel Schwenke [ 2020-03-17 ]
  • second run no longer shows a regression in 10.2
  • nor in 10.3
  • nor in 10.4

So this eems to have been a glitch.

Comment by Axel Schwenke [ 2020-03-17 ]

probably caused by a third person using the benchmark machine while the regression test suite was running

Generated at Thu Feb 08 09:10:29 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.