Cách tối ưu hiệu suất VPS – Tăng tốc website gấp 3 lần
Hướng dẫn tối ưu hiệu suất VPS để tăng tốc website. Từ cấu hình web server, PHP, database đến cache và CDN để đạt hiệu suất tối đa.
Có VPS tốt chưa đủ — bạn cần cấu hình đúng để khai thác tối đa hiệu suất. Bài viết này hướng dẫn cách tối ưu hiệu suất VPS để website của bạn tải nhanh hơn đáng kể.
1. Tối ưu Nginx
Cấu hình Nginx đúng cách có thể cải thiện hiệu suất đáng kể:
worker_processes auto; # Tự động theo số CPU core
worker_connections 1024;
# Gzip compression
gzip on;
gzip_vary on;
gzip_min_length 1024;
gzip_types text/plain text/css application/json application/javascript;
# Browser caching
location ~* .(jpg|jpeg|png|gif|ico|css|js)$ {
expires 1y;
add_header Cache-Control "public, immutable";
}
2. Tối ưu PHP-FPM
PHP-FPM pool configuration ảnh hưởng lớn đến khả năng xử lý concurrent requests:
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
Số lượng max_children phụ thuộc vào RAM: mỗi PHP process cần khoảng 30-50MB RAM.
3. Tối ưu MySQL/MariaDB
Cấu hình MySQL trong /etc/mysql/mysql.conf.d/mysqld.cnf:
innodb_buffer_pool_size = 1G # 70-80% RAM nếu chỉ chạy MySQL
innodb_log_file_size = 256M
innodb_flush_log_at_trx_commit = 2
query_cache_type = 0 # Tắt query cache (deprecated, dùng Redis thay)
max_connections = 150
4. Cài đặt Redis cho Object Cache
Redis cache giảm đáng kể số lượng database query:
sudo apt install redis-server -y
# Cấu hình trong /etc/redis/redis.conf
maxmemory 256mb
maxmemory-policy allkeys-lru
Với WordPress, cài plugin Redis Object Cache và kết nối với Redis server.
5. Bật OPcache cho PHP
OPcache cache compiled PHP bytecode, giảm thời gian compile PHP mỗi request:
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
6. Sử dụng HTTP/2 và HTTP/3
HTTP/2 cho phép multiplexing nhiều request trên một connection, giảm latency:
listen 443 ssl http2; # Nginx với HTTP/2
7. Tối ưu Linux kernel
Thêm vào /etc/sysctl.conf:
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_keepalive_time = 300
8. Monitoring và profiling
Sử dụng các công cụ để xác định bottleneck:
- htop: Monitor CPU, RAM, processes
- iotop: Monitor disk I/O
- mysqltuner: Phân tích và đề xuất tối ưu MySQL
- New Relic / Datadog: APM monitoring
Kết luận
Tối ưu VPS là quá trình liên tục. Bắt đầu với những cấu hình cơ bản trên, sau đó dùng monitoring để xác định bottleneck và tối ưu tiếp. Kết hợp tất cả các bước trên có thể tăng hiệu suất website lên 3-5 lần.
VMST Host cung cấp VPS NVMe với cấu hình tối ưu sẵn. Xem các gói VPS tại vmst.host.