24 April 2014

The Ruby Reflector

Topic

Flushing

  Source Favicon
Email

Time-based Flushing: This wouldn't seem like it should be a separate category, but because the behavior seems to be so different between the two cache solutions, I'm listing it here. The vCache manual indicates that "flush period" specifies the time after which dirty blocks will be written to the backing store, whereas FlashCache has a setting called "fallow_delay", defined in the documentation as the time period before "idle" dirty blocks are cleaned …

mysqlperformanceblog.com Read
  Source Favicon
Email

…65481 explains that the HUP signal also flushes tables in addition to logs. Flushing tables can impact running queries.

Disable MySQL slow logs during rotation

Flushing logs takes time. Meanwhile, queries are still being executed. To prevent MySQL from filling the slow log buffer, we disable the MySQL slow logs temporarily during log rotation.

Putting it all together

Here is a logrotate configuration file for a slow log that illustrates these best practices: /var/mysql/slow_query.log …

mysqlperformanceblog.com Read
  Source Favicon
By Julie Cameron of A Piece of Our Mind over 3 years ago.
Email

Automatic Flushing: The Rails 3.1 Plan

Yehuda Katz , a member of the Ruby On Rails core team, put this great post together on one of the performance optimizations that the team is looking at implementing in Rails 3.1 - specifically, automatic flushing. This follow up post from hemju , helps explain what flushing is and provides a few graphs that demonstrate its impact:

Flushing is a technique that basically streams an HTTP response. So instead …

metaspring.com Read
  Source Favicon
On A Rubyist Railstastic Adventure over 3 years ago.
Email
  Source Favicon
Email

- Improvement to Buffer Pool Flushing

- Subquery Optimizations

- More efficient Optimizer

Replication

- Optimized ROW Based Replication

- Multi-Threaded Slave

- Global Transaction Identifiers

- Crash Safe Slave and Binlog

- Replication Event Checksums

- Time Delayed Replication

- Server UUID

- Improved Logging for Row based Replication

- Replication Utilities for Failover and Admin

Transparency

- Many new INFORMATION SCHEMA Tables

mysqlperformanceblog.com Read
  Source Favicon
By Vadim Tkachenko of MySQL Performance Blog over 2 years ago.
Email

We raised topic of problems with flushing in InnoDB several times, some links:

InnoDB Flushing theory and solutions

MySQL 5.5.8 in search of stability

This was not often recurring problem so far, however in my recent experiments, I observe it in very simple sysbench workload on hardware which can be considered as typical nowadays.

Hardware: HP ProLiant DL380 G6 , with 72GB of RAM and RAID10 on 8 disks.

I took sysbench multi-tables workload, with 20 tables, …

mysqlperformanceblog.com Read
  Source Favicon
By Baron Schwartz of MySQL Performance Blog over 3 years ago.
Email

…usually not much additional work. It's ensuring consistency and durability that is expensive. Flushing it to disk adds an fsync call for every transaction. And the server performs an XA transaction between InnoDB and the binary log. This adds more fsync calls, and causes mutex contention, and prevents group commit, and probably other things that aren't coming to mind now.

The performance reduction can be an order of magnitude or more.

What's the solution? I'm …

mysqlperformanceblog.com Read
  Source Favicon
By peter of MySQL Performance Blog over 3 years ago.
Email

…single entry level hard drive to tens of thousands of writes/sec for high end SSD card. Flushing can be done using multiple threads (in XtraDB and Innodb Plugin at least) so it scales well with multiple hard drives. The second important variable is your workload, especially how dirty pages would line up on the hard drive. If there are a lot of sequential pages which are dirty Innodb will be able to use larger size IOs - up to 1MB flushing dirty pages which can be a lot faster …

mysqlperformanceblog.com Read
  Source Favicon
By Baron Schwartz of MySQL Performance Blog almost 5 years ago.
Email

…get a list of tables and columns in the current database for tab-completion. Note also that " Flushing tables" is a misnomer -- connection 5 is not flushing tables yet. It's waiting to get the lock.

Flushing tables

After the FLUSH TABLES WITH READ LOCK command finally acquires the lock, it must begin flushing data. This does not apply to all storage engines. However, MyISAM does not attempt to flush its own data to the disk during normal processing. It relies on the operating …

mysqlperformanceblog.com Read
  Source Favicon
By peter of MySQL Performance Blog over 4 years ago.
Email

Flushing dirty pages or even discarding the page will cause extra IO slowing things down.

Skewing up all Algorithms The database internals algorithms are tuned for things being in memory and if they start dealing with data which is on disk they just often stop working with any reasonable level of efficiently - when database deals with on disk data it often uses different set of algorithms which are optimized to limit number of IOs or make them more sequential. Most of these were designed …

mysqlperformanceblog.com Read