With the release of MySQL 8 I wanted to paste my tuned my.cnf (MySQL configuration file) for discussion, suggestions, and questions. To get the most out of your MySQL 8 installation, you will need to configure it correctly and tune the settings for your specific use case. In this blog post, we will discuss my […]
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 errors, and many other MySQL performance-related issues. As such, I wanted to share solutions to some common MySQL configuration mistakes. If […]
Linux server performance: Is disk I/O slowing your application?
If your Linux server is bogged down, your first step may often be to use the top command in the terminal to check load averages. 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 […]
Tuning MySQL my.cnf? Avoid this common pitfall!
It took me some time to decide on the title of this article. MariaDB has been fast replacing MySQL as many Linux distributions now default to MariaDB over MySQL. MariaDB is an enhanced drop-in replacement for MySQL. Therein lies my predominantly self-made conundrum, MySQL or MariaDB? The MySQL tuning advice below applies to MySQL, MariaDB […]
100 Top Observability Tools (+ Server Monitoring and APM solutions)
Looking for application monitoring and observability solutions? On this page, I’ve listed the top application performance monitoring (APM), infrastructure monitoring, and observability solutions to date. The listings are updated periodically as APM and observability solutions continue a rapid evolution. While I haven’t tested all of these solutions, I’ve used more than a third of them. […]
“MySQL server has gone away” error – Solution(s)
The MySQL server has gone away error, which means that the 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, as discussed below. MySQL […]
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 […]
MySQL Performance Tuning: Tips, Scripts and Tools
With MySQL, common configuration mistakes can create severe performance problems. 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 essential to ensure that your performance issues are not due to poorly written MySQL […]
MySQL Performance: Stop hoarding. Drop unused MySQL databases
Recently, I supported a client with solving MySQL performance issues. There were several areas where MySQL performance issues were addressed. One issue, however, that was overlooked before our communications was that of keeping around unused databases. There were around 15 gigabytes of unused MySQL data – a mix of MyISAM and InnoDB tables – for […]
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 […]