During April’s Percona Live MySQL Conference and Expo 2014, I attended a talk on MySQL 5.7 performance an scalability given by Dimitri Kravtchuk, the Oracle MySQL benchmark specialist. He mentioned at some point that the InnoDB double write buffer was a real performance killer. For the ones that don’t know what the innodb double write buffer is, it is a disk buffer were pages are written before being written to the actual data file. Upon restart, pages in the double write buffer are rewritten to their data files if complete. This is to avoid data file corruption with half written pages. I knew it has an impact on performance, on ZFS since it is transactional I always disable it, but I never realized how important the performance impact could be. Back from PLMCE, a friend had dropped home a Dell R320 server, asking …[Read more]
“Best Practices for MySQL Scalability.”
If you have not already done so, I encourage you to register for my “Best Practices for MySQL Scalability” Webinar which will take place on May 1st at 10 a.m. PST. This will be an overview presentation, led by me and providing a high-level look at the components of MySQL scalability: application architecture, MySQL version and configuration, choosing hardware and operating systems. For each area we’ll investigate the most important best practices. Talk to you on Wednesday, and remember to prepare your questions in advance to get the most value out of the Webinar!
More info: MySQL scalability depends on getting many things right including …[Read more]
This past week I attended OSCon, the annual conference for open source’s true believers. And there was a religious fervor in the air, particularly from the point of view of someone more accustomed to Oracle conferences.
And if open source is the religion, proprietary closed-source companies are the devil. That having been said, I was surprised how virtually all large companies were demonized. Even long-time defenders of open source like IBM were ignored at best. That didn’t prevent them from coming though, with Microsoft and HP in particular with high-profile sponsorships and PR offensives that didn’t seem to have much influence with the crowd.
The companies generating buzz were the small companies built around development of their own open source products. There are a surprising number of them out there, especially relating to multiple forks of a popular product like MySQL or …[Read more]
The open source community should feel a little safer from software patent attacks today. The Open Invention Network (OIN), a consortium of Linux contributors formed as a self-defense against software patents, has extended the definition of Linux so that a whopping 700 new software packages are covered, including many developer favorites.
Just one hitch: The new definition also includes carve-outs that put all Linux developers on notice that Phillips and Sony reserve the right to sue over virtualization, search, user interfaces, and more.
Since DTrace was released for Solaris I am missing it on Linux systems... It can't be included in Linux by the same reason why ZFS can't be - it's licensing issue. Both ZFS and DTrace are under CDDL, which is incompatible with GPL. So you can see DTrace and ZFS on Solaris, FreeBSD, MacOS, but not on Linux.
However I follow the project SystemTap for couple of years (it was started in 2005), which is supposed to provide similar to DTrace functionality.
Why I am interested in this tool, because there is no simple way
under Linux to profile not CPU-bound load (for CPU-bound there is
OProfile, see for example
http://mysqlinsights.blogspot.com/2009/08/oprofile-for-io-bound-apps.html). I.e. for IO-bound or for mutex contention problems OProfile is not that useful. …
I mentioned earlier that IO scheduler CFQ coming by default in RedHat / CentOS 5.x may be not so good for MySQL. And yesterday one customer reported that just changing cfq to noop solved their InnoDB IO problems. I ran tpcc scripts against XtraDB on our Dell PowerEdge R900 server (16 cores, 8 disks in RAID10, controller Perc/6i with BBU) to compare cfq, deadline, noop and anticipatory (last one just to get number, I did not expect a lot from anticipatory).
Here is result (in transactions per minute, more is better):
One of our customers reported strange problem with MySQL having extremely poor performance when sync-binlog=1 is enabled, even though the system with RAID and BBU were expected to have much better performance.
The problem could be repeated with SysBench as follows:
PLAIN TEXT CODE:
- ./sysbench --num-threads=2 --test=oltp --oltp-test-mode=complex --oltp-table-size=100000 --oltp-distinct-ranges=0 --oltp-order-ranges=0 --oltp-sum-ranges=0 --oltp-simple-ranges=0 --oltp-point-selects=0 --oltp-range-size=0 --mysql-table-engine=innodb --mysql-user=root --max-requests=0 --max-time=60 --mysql-db=test run
On Dell R900 with CentOS 5.2 and ext3 filesystem we get 1060 transactions/sec with single thread and sync_binlog=1 while with 2 threads …[Read more]
Some time ago I get brand new IBM POWER6 server as the replacement for "old" P5 used to host Oracle database. Because we planed to use advanced virtualization with VIOS + LPAR/DLPAR I conceived the idea to use one spare partition for MySQL tests. Because I had no past experience with it and there is not much documentation all around the web, I tried to set-up system and database traditional way. The first problem I hit was memory allocation and I think it is the best place share my remarks. Let's start from the beginning..
For any reason, you decided to run MySQL database on AIX 5L operating system. You compiled it successfully, configured and.. unluckily database didn't start due to memory allocation problem?
Basically, for some historical reasons AIX OS will allow your application to allocate maximum 256MB of memory per process by default. To use more, you have to use "Large Address Space" memory model so AIX will split …[Read more]
In past years, SCALE has been a great community event - the ratio of promoters to real Linux enthusiasts is low and the attendees are friendly. Also, like most other Linux conferences, attendees have a strong interest in many other FLOSS community issues and technologies, like BSD, Firefox, Apache, PHP, MySQL, Free Software licensing and so on. Hopefully I can attend this year (and can wear both my eZ hat and my Mozilla hat for the event).
The event will happen from February 10-11 and will be held at the Westin Los Angeles Airport hotel.
Get more details at: …[Read more]
The organizers of the PHP Québec Conference were gracious enough to give me an unedited copy of my Copyright, Contracts and Licensing for PHP Developers session.
I cleaned the audio up last night, stripping out some of the more odious filler words (I seem to say “Umm” rather often), shortening pauses as I switched slides, removing redundant asides (like asking if there are any questions, when no questions then follow) and excising the introduction and applause.
After a good deal of consideration, I did chose to leave the errors and other flaws in the content presented. These flaws were presented to the audience and they should stay in the recording.
Of course, I don’t want people to be mislead by any of the flaws; to prevent this, I am transcribing the entire talk, …[Read more]