May 24, 2012

Post: Heikki Tuuri answers to Innodb questions, Part II

… server is: set innodb_flush_method=O_DIRECT in my.cnf, to prevent double buffering. Configure as much memory as possible to InnoDB‘s buffer pool. For… large Innodb table (150GB) that is showing poor performance for full table scans. using O_DIRECT, we are seeing individual 16KB paged I/O

Post: Choosing innodb_buffer_pool_size

… needs for Innodb Buffer Pool. This of course assumes your database is large so you need large buffer pool, if not – setting buffer pool… Double Buffering – This is again very important for buffer pool size choice. You do not want OS to cache what Innodb is caching already. Innodb… anything. On Linux, FreeBSD, Solaris you need to set innodb_flush_method=O_DIRECT. On other Operating Systems you may be able to…

Post: Innodb Performance Optimization Basics

… looking for more details, check out detailed guide on tuning innodb buffer pool innodb_log_file_size – This depends on your recovery speed… application and default which is 8 is decent start innodb_flush_method=O_DIRECT Avoid double buffering and reduce swap pressure, in most cases this…

Post: Heikki Tuuri Innodb answers - Part I

… here? HT: According to tests by Peter Zaitsev, O_DIRECT works well to remove double buffering. In distant future, I would like to have… tablespace when an InnoDB instance is created. PZ: Sequential “dump” of buffer pool would need more optimizations to work – Innodb would also need…

Post: MySQL 5.5.8 - in search of stability

innodb_flush_method = O_DIRECT innodb_log_buffer_size = 64M innodb_buffer_pool_size = 26G innodb_buffer_pool_instances=16 innodb_log_file_size = 2000M innodb_log_files_in_group = 2 innodb…. Doublewrite activity actually adds significant I/O activity. Basically, it doubles the amount of writes :) , as …

Comment: Which adaptive should we use?

Yasufumi, I thought innodb_flush_method=O_DIRECT will override doublewrite? (I am confused with doublewrite and double buffering) If that is true what is the implication of the test case with adaptive_flushing with innodb_doublewrite=true? — Ratheesh

Post: The tool I've been waiting for years

… also use it with Innodb to see how much memory are you wasting with double buffering by not using of O_DIRECT. Besides general clues… and Innodb could use fadvice to give instruction to kernel not to cache these as long as it can’t perform direct… 250GB innodb data file none of pages are in cache – this is because this instance is using O_DIRECT flag to bypass data buffering

Comment: Disaster: MySQL 5.5 Flushing

I do not think that running without O_DIRECT is a solution. I’m not sure if anyone is …, but if so, then it’s not a realistic fix. InnoDB needs to either be able to manage its own memory… does, but double buffering is way too expensive to run in production. If the problem doesn’t manifest without O_DIRECT then that could…

Comment: Heikki Tuuri Innodb answers - Part I

…look into Innodb code ourselves and it is very well commented. You’re correct when Innodb does a…any reordering happens during double write process, ie 128 pages are written to boulewrite buffer – are they …not ? In case of buffering IO OS will reorder them anyway but for O_DIRECT it may matter. Again…

Post: xtrabackup-0.7 (RC)

O_DIRECT by default for handling InnoDB files – use posix fadvise call to disable OS caching of copying files – disable recovery of double buffer Also…