Trong quá trình cấu hình VPS cho trang web uidlookup.com tôi đã gặp sự cố đối với RAM. Sau đây là hướng dẫn tối ưu hiệu suất Apache, PHP, và MySQL/MariaDB trên VPS chỉ có RAM 1GB.
Việc tối ưu là cần thiết để tránh tình trạng OOM (out of memory) và tận dụng tối đa tài nguyên của VPS.
I. Tối ưu Apache
1. Cấu hình Apache trên CentOS
Mở tệp cấu hình bằng trình chỉnh sửa
nano /etc/httpd/httpd.conf
Thêm cấu hình sau vào cuối tệp httpd.conf:
KeepAlive Off
<IfModule prefork.c>
StartServers 6
MinSpareServers 5
MaxSpareServers 15
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 3000
</IfModule>
Khởi động lại Apache:
service httpd restart
2. Cấu hình Apache trên Ubuntu
Mở tệp cấu hình bằng trình chỉnh sửa:
nano /etc/apache2/apache2.conf
Tìm và thêm/cập nhật cấu hình dưới đây trong tệp apache2.conf:
<IfModule mpm_prefork_module>
StartServers 3
MinSpareServers 5
MaxSpareServers 15
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 3000
</IfModule>
Khởi động lại Apache:
sudo service apache2 restart
II. Tối Ưu MySQL/MariaDB
Mở tệp cấu hình MySQL (my.cnf) và thêm cấu hình sau dưới phần [mysqld]:
[mysqld]
symbolic-links=0
skip-external-locking
key_buffer_size = 32K
max_allowed_packet = 4M
table_open_cache = 8
sort_buffer_size = 128K
read_buffer_size = 512K
read_rnd_buffer_size = 512K
net_buffer_length = 4K
thread_stack = 480K
innodb_file_per_table
max_connections=100
max_user_connections=50
wait_timeout=50
interactive_timeout=50
long_query_time=5
Đường dẫn tệp cấu hình:
- CentOS/RHEL: /etc/my.cnf
- Ubuntu/Debian: /etc/mysql/my.cnf
III. Thêm Không Gian Swap
Với VPS RAM 1GB, việc tạo và thêm SWAP sẽ giúp hệ thống ổn định hơn. Tham khảo bài viết “Hướng Dẫn Thêm Không Gian Swap trên Ubuntu 20.04” để biết thêm chi tiết.
IV. Tối Ưu PHP
Cài đặt các tiện ích hỗ trợ
- php-opcache: Hỗ trợ bộ nhớ đệm mã PHP.
- memcached: Yêu cầu được hỗ trợ bởi mã nguồn của ứng dụng.
Cấu hình bộ nhớ PHP:
- Thiết lập giới hạn bộ nhớ PHP không vượt quá 128MB.
- Sử dụng hệ thống bộ nhớ đệm có sẵn của ứng dụng.
- Với WordPress, sử dụng plugin WP Super Cache để tối ưu hóa hiệu suất.