Question

Need help optimizing MariaDB (and possibly Nginx/Php-fpm) for very busy WordPress site

Hello! I have a very busy WordPress site (3M pageviews/month) currently running elsewhere that I’m in the process of moving over to Digital Ocean. I have two 32GB standard droplets set up, one running MariaDB and one running Nginx and Php7-fpm. It’s all working but it’s slow - the page load time is almost twice the old servers and I’m not sure exactly what I’ve got wrong in the config, or if it’s something else I’m missing. It would appear from new relic that it’s the database that’s slowing it down. The servers themselves seem like they’re not using much resources - memory and cpu usage is low.

Here’s my MariaDB config:

[mysqld]
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
skip-name-resolve=1
performance_schema=ON
bind-address            = 0.0.0.0

key_buffer_size         = 64M
max_connections         = 1500
connect_timeout         = 5
wait_timeout            = 600
max_allowed_packet      = 16M
thread_cache_size       = 50
sort_buffer_size        = 4M
bulk_insert_buffer_size = 16M
tmp_table_size          = 64M
max_heap_table_size     = 64M

query_cache_type        = 0
query_cache_size        = 0

log_error = /var/log/mysql/error.log
slow_query_log_file     = /var/log/mysql/mariadb-slow.log
long_query_time = 10
log_slow_rate_limit     = 1000
expire_logs_days        = 10
max_binlog_size   = 100M


default_storage_engine          = InnoDB
innodb_buffer_pool_size         = 26G
innodb_buffer_pool_instances    = 24
innodb_file_per_table           = 1
innodb_log_file_size            = 512M
innodb_log_files_in_group       = 2
innodb_log_buffer_size  = 256M

character-set-server  = utf8mb4
collation-server      = utf8mb4_general_ci

Any ideas welcome. Thank you!

Show comments

Submit an answer

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in Q&A, subscribe to topics of interest, and get courses and tools that will help you grow as a developer and scale your project or business.

I would use something like CemtminMod. It will do most of the work for you.