针对提供的 MySQL 配置文件,在考虑到服务器的硬件资源 (4 核 CPU 、 4GB 内存) 的情况下,以下是一些优化建议:
一、整体调整
-
内存相关设置
- 由于内存有限,适当降低一些内存相关的设置。
innodb_buffer_pool_size
:调整为 2G 左右,例如innodb_buffer_pool_size = 2G
。max_heap_table_size
和tmp_table_size
:调整为 256M ,例如max_heap_table_size = 256M
,tmp_table_size = 256M
。
-
连接数相关设置
max_connections
:根据实际需求和资源限制,可适当降低,例如设置为 200 。
-
日志相关设置
- 考虑到内存和存储空间,暂时保留
skip-log-bin
,如果对数据恢复要求较高,可以根据实际情况启用并适当调整binlog_file_size
。
- 考虑到内存和存储空间,暂时保留
二、具体优化后的配置
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
binlog_cache_size = 64K
thread_stack = 256K
join_buffer_size = 1024K
max_heap_table_size = 256M
port = 3306
socket = /tmp/mysql.sock
datadir = /www/server/data
default_storage_engine = InnoDB
skip-external-locking
key_buffer_size = 32M
max_allowed_packet = 16M
table_open_cache = 128
sort_buffer_size = 256K
net_buffer_length = 4K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
myisam_sort_buffer_size = 8M
thread_cache_size = 64
tmp_table_size = 256M
lower_case_table_names = 1
default_authentication_plugin = mysql_native_password
sql-mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
explicit_defaults_for_timestamp = true
max_connections = 200
max_connect_errors = 100
open_files_limit = 65535
slow_query_log=1
slow-query-log-file=/www/server/data/mysql-slow.log
long_query_time=3
innodb_data_home_dir = /www/server/data
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /www/server/data
innodb_buffer_pool_size = 2G
innodb_log_file_size = 64M
innodb_log_buffer_size = 16M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
innodb_max_dirty_pages_pct = 75
innodb_read_io_threads = 2
innodb_write_io_threads = 2
[mysqldump]
quick
max_allowed_packet = 128M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 32M
sort_buffer_size = 128K
read_buffer = 1M
write_buffer = 1M
针对提供的 Nginx 配置,在考虑到服务器的硬件资源 (4 核 CPU 、 4GB 内存) 的情况下,以下是一些优化建议:
一、整体调整
-
调整工作进程数
- 将
worker_processes
设置为与 CPU 核心数相同,即worker_processes 4
。
- 将
-
调整文件描述符限制
- 根据系统资源和预期负载,适当调整
worker_rlimit_nofile
,例如设置为worker_rlimit_nofile 65535
。
- 根据系统资源和预期负载,适当调整
二、具体优化后的配置
user www www;
worker_processes 4;
error_log /www/wwwlogs/nginx_error.log crit;
pid /www/server/nginx/logs/nginx.pid;
worker_rlimit_nofile 65535;
stream {
log_format tcp_format '$time_local|$remote_addr|$protocol|$status|$bytes_sent|$bytes_received|$session_time|$upstream_addr|$upstream_bytes_sent|$upstream_bytes_received|$upstream_connect_time';
access_log /www/wwwlogs/tcp-access.log tcp_format;
error_log /www/wwwlogs/tcp-error.log;
include /www/server/panel/vhost/nginx/tcp/*.conf;
}
events
{
use epoll;
worker_connections 65535;
multi_accept on;
}
http
{
real_ip_header X-Forwarded-For;
set_real_ip_from 0.0.0.0/0;
include mime.types;
#include luawaf.conf;
include proxy.conf;
default_type application/octet-stream;
server_names_hash_bucket_size 512;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 500m;
sendfile on;
tcp_nopush on;
keepalive_timeout 30;
tcp_nodelay on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
gzip on;
gzip_min_length 100k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 6;
gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/json image/jpeg image/gif image/png font/ttf font/otf image/svg+xml application/xml+rss text/x-js;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_disable "MSIE [1-6]\.";
limit_conn_zone $binary_remote_addr zone=perip:10m;
limit_conn_zone $server_name zone=perserver:10m;
server_tokens off;
access_log off;
server
{
listen 888;
server_name phpmyadmin;
index index.html index.htm index.php;
root /www/server/phpmyadmin;
location ~ /tmp/ {
return 403;
}
#error_page 404 /404.html;
include enable-php.conf;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /\.
{
deny all;
}
access_log /www/wwwlogs/access.log;
}
include /www/server/panel/vhost/nginx/*.conf;
}
意事项
- 在修改配置文件后,务必重启 Nginx 服务以使更改生效。
- 优化设置应根据实际的业务负载和使用情况进行测试和调整。
- 定期监控服务器的性能指标,以便及时发现潜在的问题并进行进一步的优化。
针对您提供的 PHP-FPM 配置,在考虑到服务器的硬件资源 (4 核 CPU 、 4GB 内存)php8.2 的情况下,以下是一些优化建议:
一、整体调整
-
调整进程管理器设置
- 由于内存有限,适当降低
pm.max_children
的值,例如设置为 60 。 - 调整
pm.start_servers
、pm.min_spare_servers
和pm.max_spare_servers
,例如分别设置为 8 、 8 和 20 。
- 由于内存有限,适当降低
-
调整监听设置
- 考虑安全性,将
listen.allowed_clients
设置为实际需要的 IP 地址范围。
- 考虑安全性,将
二、具体优化后的配置
[global]
pid = /www/server/php/82/var/run/php-fpm.pid
error_log = /www/server/php/82/var/log/php-fpm.log
log_level = notice
[www]
listen = /tmp/php-cgi-82.sock
listen.backlog = 8192
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www
pm = dynamic
pm.status_path = /phpfpm_82_status
pm.max_children = 60
pm.start_servers = 8
pm.min_spare_servers = 8
pm.max_spare_servers = 20
request_terminate_timeout = 100
request_slowlog_timeout = 30
slowlog = /www/server/php/82/var/log/slow.log
注意事项
- 在修改配置文件后,务必重启 PHP-FPM 服务以使更改生效。
- 优化设置应根据实际的业务负载和使用情况进行测试和调整。
- 定期监控服务器的性能指标,以便及时发现潜在的问题并进行进一步的优化。
针对您提供的 PHP-FPM 配置,在考虑到服务器的硬件资源 (4 核 CPU 、 4GB 内存) php7.4 的情况下,以下是一些优化建议:
一、整体调整
-
调整进程管理器设置
- 由于内存有限,适当降低
pm.max_children
的值,例如设置为 60 。 - 调整
pm.start_servers
、pm.min_spare_servers
和pm.max_spare_servers
,例如分别设置为 8 、 8 和 20 。
- 由于内存有限,适当降低
-
调整监听设置
- 考虑安全性,将
listen.allowed_clients
设置为实际需要的 IP 地址范围。
- 考虑安全性,将
二、具体优化后的配置
[global]
pid = /www/server/php/74/var/run/php-fpm.pid
error_log = /www/server/php/74/var/log/php-fpm.log
log_level = notice
[www]
listen = /tmp/php-cgi-74.sock
listen.backlog = 8192
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www
pm = dynamic
pm.status_path = /phpfpm_74_status
pm.max_children = 60
pm.start_servers = 8
pm.min_spare_servers = 8
pm.max_spare_servers = 20
request_terminate_timeout = 100
request_slowlog_timeout = 30
slowlog = /www/server/php/74/var/log/slow.log
注意事项
- 在修改配置文件后,务必重启 PHP-FPM 服务以使更改生效。
- 优化设置应根据实际的业务负载和使用情况进行测试和调整。
- 定期监控服务器的性能指标,以便及时发现潜在的问题并进行进一步的优化。
© 版权声明
版权解释权归发文作者所有,未经允许,不得转载!侵权请举报!
THE END
暂无评论内容