Tassos Voulgaris
New Pleskian
- Server operating system version
- Debian 11.8
- Plesk version and microupdate number
- Plesk Obsidian 18.0.56 Update 4
I have comissioned a very capable server in order to host 40 Wordpress & Woocommerce sites using Plesk Obsidian Web Host Edition Version 18.0.56 Update #4. I am experienging dissapointing performance not only on my sites, but on Plesk as well. I will try to provide as much information I can, so maybe a sysadmin much more capable than me can provide some insights:
1. Server Info
2. Websites Info
I am trying to optimize MariaDB using Releem.
Current MariaDB settings are:
5. NGINX
I have tried to tweak NGINX configuration with the following values:
6. Some typical outputs of top, atop, htop
I would be happy to provide any other information you think it will be helpfull and I would be gracefull for any feedback you can give me.
1. Server Info
CPU | Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz (12 core(s)) |
Version | Plesk Obsidian v18.0.56_build1800231106.15 os_Debian 11.0 |
OS | Debian 11.8 |
RAM | 256 GB |
2. Websites Info
- 37 Woocommerce sites
- 3 Wordpress site
- Optimized with page caching (Wp-Rocket) and Object Caching (Redis). Optimized images
- Low traffic in general. Average 60 simultaneous connections. Spikes sometimes up to 300 simultaneous connections.
- All sites are running on NGINX alone (proxy mode is not checked)
- 21 sites are running as FPM Application and 19 as Dedicated FPM Application
- All sites are running on PHP 8.2
- For all sites Performance Booster options are enabled
I am trying to optimize MariaDB using Releem.
Current MariaDB settings are:
Code:
+-------------------------------------+----------------+
| Parameter | Value |
+-------------------------------------+----------------+
| none | none |
| innodb_change_buffer_max_size | 25 |
| innodb_adaptive_flushing_lwm | 25.000000 |
| innodb_max_dirty_pages_pct | 70.000000 |
| innodb_autoextend_increment | 48 |
| thread_stack | 524288 |
| transaction_prealloc_size | 8192 |
| thread_cache_size | 256 |
| max_connections | 1000 |
| query_cache_type | 1 |
| query_cache_size | 134217728 |
| query_cache_limit | 33554432 |
| query_cache_min_res_unit | 4096 |
| key_buffer_size | 8388608 |
| max_heap_table_size | 16777216 |
| tmp_table_size | 16777216 |
| innodb_buffer_pool_instances | 1 |
| innodb_buffer_pool_size | 10066329600 |
| innodb_log_file_size | 1354760192 |
| innodb_file_per_table | 1 |
| sort_buffer_size | 2097152 |
| read_rnd_buffer_size | 262144 |
| bulk_insert_buffer_size | 8388608 |
| myisam_sort_buffer_size | 134216704 |
| innodb_page_cleaners | 1 |
| innodb_buffer_pool_chunk_size | 134217728 |
| join_buffer_size | 262144 |
| table_open_cache | 2000 |
| table_definition_cache | 400 |
| innodb_flush_log_at_trx_commit | 2 |
| innodb_log_buffer_size | 16777216 |
| innodb_write_io_threads | 4 |
| innodb_read_io_threads | 4 |
| innodb_flush_method | fsync |
| innodb_thread_concurrency | 0 |
| optimizer_search_depth | 62 |
| innodb_purge_threads | 4 |
| thread_handling | one-thread-per-connection |
| thread_pool_size | 12 |
+-------------------------------------+----------------+
5. NGINX
I have tried to tweak NGINX configuration with the following values:
Code:
#user nginx;
worker_processes auto;
#error_log /var/log/nginx/error.log;
#error_log /var/log/nginx/error.log notice;
#error_log /var/log/nginx/error.log info;
#pid /var/run/nginx.pid;
include /etc/nginx/modules.conf.d/*.conf;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#tcp_nodelay on;
#gzip on;
#gzip_disable "MSIE [1-6]\.(?!.*SV1)";
server_tokens off;
client_body_buffer_size 10m;
client_max_body_size 100m;
client_body_timeout 60s;
open_file_cache max=1024 inactive=10s;
open_file_cache_valid 60s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
include /etc/nginx/conf.d/*.conf;
}
# override global parameters e.g. worker_rlimit_nofile
include /etc/nginx/*global_params;
6. Some typical outputs of top, atop, htop
I would be happy to provide any other information you think it will be helpfull and I would be gracefull for any feedback you can give me.