PHP memory_limit – understanding and increasing this setting

PHP’s memory_limit is per-script, just as a highway’s speed limit is per-vehicle. For example, although PHP’s memory limit may be set to 1GB, that does not mean that scripts will pile up to use that 1 GB. Let’s take a closer look at understanding PHP’s memory_limit setting.   PHP memory_limit is a per-script setting’s […]

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

Linux benchmark scripts and tools

This list of Linux benchmark scripts and tools should prove helpful for quick performance checks of CPU, storage, memory, and network on Linux servers and VPS. Check each script before running from the command line. Most of these scripts will benchmark the CPU, memory, storage, and network. In most cases, the CPU Model, frequency, and […]

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

Aug 13th, 2023: added Yet-another-bench-script benchmarking tool. Sept 27th, 2021: Added link to a great list of command-line benckmark scripts. June 17th, 2019: Added instructions for network speed test using speedtest-cli script. Nov 2nd, 2016: Included quick dd commands to check cached vs. uncached read performance. This article will highlight using the ‘dd’ Unix command […]

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

iotop command in Linux w/ examples.

This iotop command guide follows my previous 90 Linux Commands frequently used by Linux Sysadmins article. As time allows, I will continue to publish articles on the 90+ commands geared toward Linux sysadmins and Linux power users. Let’s continue this series with the iotop command. iotop is a simple top-like I/O monitor. A terminal program […]