behaviour of innodb_io_capacity contradicts documentation

Bug #909510 reported by aeva black
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona Server moved to https://jira.percona.com/projects/PS
Status tracked in 5.7
5.1
Won't Fix
Medium
Unassigned
5.5
Triaged
Medium
Borys Belinsky
5.6
Invalid
Undecided
Unassigned
5.7
Invalid
Undecided
Unassigned

Bug Description

Version: percona-server 5.1.56 with innodb 1.0.15-12.5

Description:

According to documentation linked below, and an informal chat with Vadim, there is no need to tune innodb_io_capacity when innodb_adaptive_checkpoint = keep_average. The documentation also suggests that this setting is suitable for SSD storage. In working with several servers with FusionIO storage (single write-master, multiple read-slaves) I have observed that this is not true -- specifically, that changing innodb_io_capacity has a direct impact on flushing of dirty pages and checkpoint age even though innodb_adaptive_checkpoint = keep_average.

http://www.percona.com/doc/percona-server/5.1/scalability/innodb_io.html?id=percona-server:features:innodb_io_51#innodb_adaptive_checkpoint

How to reproduce:

* on replication slave with FusionIO storage, set
   innodb_adaptive_checkpoint = keep_average
   innodb_io_capacity = 100
* then add significant write load to master
* observe innodb checkpoint age stay near max age
* then run mysql> SET GLOBAL INNODB_IO_CAPACITY=10000;
* observe that Innodb_buffer_pool_pages_dirty and checkpoint age both decrease rapidly

Suggested work-around:

Simply tune innodb_io_capacity.

Tags: doc
aeva black (tenbrae)
summary: - adaptive_checkpoint = keep_average requires tuning of io_capacity
+ behaviour of innodb_io_capacity contradicts documentation
Revision history for this message
aeva black (tenbrae) wrote :

I tested this behaviour on the same version of percona-server with innodb_adaptive_checkpoint = estimate, and on hardware with a traditional HDD RAID. In this case, tuning innodb_io_capacity still has an immediate and significant impact on flush rate, which directly contradicts the docs. The docs state that for estimate, "behavior is independent of the innodb_io_capacity variable".

Stewart Smith (stewart)
Changed in percona-server:
status: New → Triaged
importance: Undecided → Medium
tags: added: doc
Changed in percona-server:
status: Triaged → In Progress
Changed in percona-server:
assignee: nobody → Hrvoje Matijakovic (hrvojem)
Changed in percona-server:
status: In Progress → Confirmed
Stewart Smith (stewart)
Changed in percona-server:
status: Confirmed → Triaged
Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PS-2718

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.