Hôm cuối tuần do mình hơi đuối nên chỉ viết được đến phần 7, bây giờ mình sẽ viết tiếp một phần khá quan trọng để làm cho VPS bạn không phải quá tải CPU do các process của PHP-FPM tạo ra, đó là tùy chỉnh lại các thông tin cần thiết.
Mặc khác, mặc định database của bạn khi cài vào sẽ không hỗ trợ lưu cache các truy vấn từ database nên điều đó có thể sẽ làm website bạn hơi chậm.
Để tối ưu PHP-FPM, bạn hãy mở file /etc/php.ini ra và tìm:
;session.save_path = "/tmp"
Thay thành
session.save_path = "/var/lib/php/session"
Sau đó cấp quyền cho user đang thực thi PHP sở hữu thư mục này. Nếu bạn không làm phần 7 thì nó sẽ là nginx:nginx
chown -R nginx:nginx /var/lib/php/session
Tiếp tục mở file /etc/php-fpm.d/www.conf, tìm:
pm = dynamic
Thay thành
pm = ondemand
Tìm
pm.max_children = 50
Thay thành
pm.max_children = 5
Nếu bạn có VPS chỉ có từ 1 cho tới 3 CPU thì bạn nên thiết lập pm.max_children
là 2. Còn nếu nhiều hơn thì nên đặt là 5 chứ đừng để nhiều quá.
Tìm tiếp
pm.max_spare_servers = 35
Thay thành
pm.max_spare_servers = 5
Tìm tiếp
pm.min_spare_servers = 5
Thay thành
pm.min_spare_servers = 1
Sau đó khởi động lại PHP-FPM
service php-fpm restart
Đơn giản là hãy mở file /etc/my.cnf và copy đoạn nội dung này vào dưới !includedir /etc/my.cnf.d
.
[mysqld] key_buffer = 500M table_cache = 4000 sort_buffer_size = 3M read_buffer_size = 2M read_rnd_buffer_size = 8M myisam_sort_buffer_size = 64M max_connections = 400 query_cache_type = 1 query_cache_limit = 5M query_cache_size = 500M tmp_table_size=20M max_heap_table_size=20M thread_cache_size = 64
Nhớ khởi động lại MySQL
service mysql restart
Xong rồi đó. ?