MySQL Performance Tuning: Tips, Scripts and Tools

With MySQL, common configuration mistakes can cause serious performance problems. In fact, if you misconfigure just one of the many config parameters, it can cripple performance. Of course, the performance of MySQL is often tied to the efficiency of your MySQL queries. It’s important to ensure that your performance issues are not due to poorly […]

MySQL Performance: Stop hoarding. Drop unused MySQL databases

Recently, I supported a new client with solving MySQL performance issues. There were several areas where MySQL performance issues were addressed. One issue, however, was overlooked prior to our communications, was that of keeping around unused databases. There was around 15 gigabytes of unused MySQL data – a mix of MyISAM and Innodb tables – […]

MySQL Database Performance: Avoid this common mistake

One frequent topic of support request emails I receive is MySQL database performance. Clients complain about MySQL using too much server memory, too many MySQL slow queries, the famous Mysql server has gone away error and many other MySQL performance related issues. As such, I wanted to quickly share the solution to a common MySQL configuration […]

50 Top Server Monitoring & Application Monitoring Tools

Back in 2014, I compiled a list of top server and application performance monitoring solutions. Sharing that list publicly was a great way to gain feedback and recommendations on other tools available. In time that list grew from 20 to over 100 server monitoring and APM solutions! Because of its growing size, I’ve created below, a smaller, more […]

Could not increase number of max_open_files to more than… (Solution)

A quick solution to the warning “Could not increase number of max_open_files to more than” when starting MySQL or MariaDB. For some background read How MySQL Opens and Closes Tables. Here’s an excerpt: “The table_open_cache and max_connections system variables affect the maximum number of files the server keeps open. If you increase one or both of these […]

“MySQL server has gone away” error – Solution(s)

MySQL server has gone away error means that MySQL server (mysqld) timed out and closed the connection. By default, MySQL will close connections after eight hours (28800 seconds) if nothing happens. However, in some cases, your web host, DBA, or app developer may have decreased this timeout setting, discussed below. MySQL server has gone away, can be […]

Linux server performance: Is disk I/O slowing your application?

If your Linux server is bogged down, your first step is often to use the TOP command in terminal to check load averages and wisely so. However, there are times when TOP shows very high load averages even with low cpu ‘us’ (user) and high cpu ‘id’ (idle) percentages. This is the case in the video below, load averages […]

Memcache PHP Extensions for Memcached Caching Daemon

Memcached (Memcache Daemon) is a caching daemon designed especially for dynamic web applications to decrease database load by storing objects in memory. It is commonly used to speed up dynamic database-driven websites by caching data and objects in server memory to reduce the number of times the data source must be read. Memcached is free and open-source software, […]

Tuning MySQL: my.cnf, avoid this common pitfall!

Caution: Don’t overwrite my.cnf all at once. Backup data and config, make one or two changes per restart, test extensively. It took me some time to decide the title for this article. MariaDB has been fast replacing MySQL as a growing number of Linux distributions now default to MariaDB over MySQL. MariaDB is an enhanced drop-in replacement […]