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 […]

“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 […]

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 […]

innodb_buffer_pool_size – MySQL Performance

In MySQL performance tuning, few variables wield as much influence as innodb_buffer_pool_size. This essential MySQL configuration parameter directly impacts the performance of InnoDB, the most commonly used storage engine in MySQL. In this second installment in our series on MySQL database performance optimization, we continue to delve into the intricate world of MySQL configuration variables by […]

MySQL Performance Schema

When it comes to database performance monitoring and optimization, MySQL offers a powerful tool called Performance Schema. This versatile instrument provides invaluable insights into the inner workings of your MySQL database, enabling you to fine-tune its performance for optimal efficiency. In this installment of our series on MySQL database performance optimization, we delve into the […]

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 […]

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 […]

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 […]

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 8 sample config (my.cnf example) and tuning.

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 […]

Top ↑