Best optimize settings for the 16 CPUs Linode

I have been using Linode for quite sometime and I have Google around searching for the best optimize settings. This time I am gonna need more help then just Googling around.

I'll be using 32Gb RAM and 16 CPUs Linode. I need help with some of the values that might be best effective for the following settings provided below, the values in question is marked as "??" :

NGIX settings

worker_rlimit_nofile ??;
events {
use epoll;
worker_connections ??;
multi_accept ??;
keepalive_timeout ??;
types_hash_max_size ??;
proxy_read_timeout ??;
keepalive_timeout ??;
types_hash_max_size ??;
proxy_read_timeout ??;

PHP fpm setting

pm = ??
pm.max_children = ??
pm.start_servers = ??
pm.min_spare_servers = ??
pm.max_spare_servers = ??
pm.process_idle_timeout = ??s;
pm.max_requests = ??

MYSQL settings

key_buffer_size = ??
max_allowed_packet = ??
thread_stack = ??
thread_cache_size = ??
innodb_buffer_pool_size = ??
innodb_log_file_size = ??
innodb_buffer_pool_instances = ??
interactive_timeout= ??
wait_timeout= ??
max_connections = ??
query_cache_size = ??
expire_logs_days = ??
max_binlog_size = ??

For the record I'll be using Mariadb. If I have missed any important values that is worth making changes to, please do tell me.

Any suggestion is welcome.

Thank you

1 Reply

I understand wanting the perfect settings to get peak performance out of your Linode. But, there is no secret formula, it's very dependant upon your workload. Each of the services you listed has its configurations interdependent of the other, which further makes it harder to provide a targeted performance config setting.

I'd recommend reviewing documentation on each service to get a better idea of ways to improve the performance of each one. Should you encounter any unexpected performance issues, you can then review the logs to better identify the cause. Trial-and-error is not always fun, but it'll give you a better sense of what your stack needs to perform at its peak.

We have a 4 part series on getting started with Nginx. These series of guides cover a lot of information, including best practice settings with regards to performance: Getting Started with NGINX

Another very popular doc is our How to Optimize MySQL Performance Using MySQLTuner guide. It helps with using MySQLTuner, which has support for MariaDB.

Another guide on Linode's website is Serve PHP with PHP-FPM and NGINX. This helps with context for using PHP with an Nginx web server.

There are other posts here on the Community site that might be helpful:

If you ask for something more specific or can explain what you're using the Linode for, the Community may be able to better equipped to assist you.


Please enter an answer

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct