Busy server prefers LRU flushing over flush list flushing too strongly

Bug #1534114 reported by Laurynas Biveinis
8
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
Invalid
Undecided
Unassigned
5.5
Invalid
Undecided
Unassigned
5.6
Invalid
Undecided
Unassigned
5.7
Fix Released
Medium
Laurynas Biveinis

Bug Description

With the current 5.7 version of the fix for https://bugs.launchpad.net/percona-server/+bug/1234562 / http://bugs.mysql.com/bug.php?id=70500, the main cleaner coordinator thread loop looks like

... /* Flush LRU: */
  pc_flush(0, 0, &n_processed_lru, &n_flushed_list);
  ut_ad(n_flushed_list == 0);
... /* LRU iteration took too long */
  if (ut_time_ms() > next_loop_time)
   ret_sleep = OS_SYNC_TIME_EXCEEDED;
... /* Sync flush? */
  else if (ret_sleep != OS_SYNC_TIME_EXCEEDED
      && srv_flush_sync
      && buf_flush_sync_lsn > 0) {
... /* adaptive flush? */
  } else if (srv_check_activity(last_activity)) {
... /* idle flush? */
  } else if (ret_sleep == OS_SYNC_TIME_EXCEEDED) {
...
  } else {
   /* no activity, but woken up by event */
  }

Thus, if LRU took too long, we won't go into sync flush, even if that is requested, in which case it will cause performance degradation.

tags: added: performance xtradb
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-3360

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.