Linux Performance: Almost Always Add Swap. Part 2: ZRAM

Previously, we looked at how swap space, particularly swapping, can severely slow down Linux performance. We then tweaked Linux kernel parameters to make better use of server memory and to avoid heavy swapping. That article created some debate and good arguments for and against swap space. For example, if you have more than enough memory […]

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

How to Enable Unattended Upgrades on Ubuntu/Debian

Linux server security is of critical importance to sysadmins. One central part of keeping Linux servers secure, is by installing security updates in a timely manner. Too often there are compromised servers on the internet due to pending security updates waiting for a manual update. On both Ubuntu and Debian, the unattended-upgrades package can be configured […]

Your Web Host Doesn’t Want You To Read This: Benchmark Your VPS

June 17th 2019: Added instructions for network speed test using speedtest-cli script. Oct 31st 2017: Also see this list of command line scripts. Nov 2nd 2016: Included quick dd commands to check cached vs uncached disk read performance. This article will highlight using the ‘dd’ Unix command for a quick benchmark of your Linux server or VPS. […]

Nginx tuning tips: TLS/SSL HTTPS – Improved TTFB/latency

Since 30th June 2018, the PCI Security Standards Council requires that support for SSL 3.0 and TLS 1.0 be disabled. TLS 1.1 or higher must be used and TLS 1.2 is strongly recommended. In addition, as of July 2018, Google Chrome began to mark ‘HTTP’ web sites as “not secure”. Over the past few years, the […]

When is it time to add more application monitoring?

Guest post by James Paden, Partner at Instrumental At Instrumental, we often talk about getting started with monitoring. In the past, we’ve covered the critical, but basic, metrics everyone needs on our Ultimate Monitoring Metrics Cheatsheet (many of which are gathered by out-the-box system and service monitoring). We also wrote the Quick-Start Guide to Monitoring […]

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

PHP Performance: Additional CPU cores or Faster CPU cores

  Some time ago I received an email from a client experiencing slow performance issues with a LEMP (Linux, Nginx, MySQL and PHP web server). During a full audit, I found that the server’s load average was pretty low (see above screenshot). However, the website was indeed very slow. There were some misconfigurations, but one […]