DANH MỤC: VPS SERVER

Tối ưu NGINX đáp ứng truy cập cao


Như các bạn đã biết thì NGINX hiện nay đang là 1 trong top 4 webserver được sử dụng nhiều nhất hiện nay.
Top webserver

Theo netcraft

Và PHP-FPM vs NGINX chính là cặp đôi đang được sử dụng nhiều nhất. Chính vì thế bài viết này mình sẽ giới thiệu các thủ thuật tối ưu NGINX với PHP-FPM.

1,  Điều chỉnh worker process.

Như các bạn đã biết thì ngày nay phần cứng khá là mạnh và nó không còn đơn giản là một processor như trước nữa (lâu lắm rồi), vì thế chúng ta nên thiết lập cho nginx chạy trên nhiều processor có sẵn của phần cứng. Đây cũng là một trong các ưu điểm của NGINX, cái này thì mãi sau này apache mới có.

Để xem số processor trên linux:

cat /proc/cpuinfo | grep processor

Xem processor trên FreeBSD:

sysctl dev.cpu | grep location

Và đây là các thông số các bạn sẽ cần cấu hình trong file nginx.conf:

worker_processes 4; # Thiết lập số processor có thể sử dụng.

events {
    # Đây là số lượng kết nối tối đa trên một processor.
    worker_connections 4000;

    # Tối ưu nhiều khách trên một thead của process (chỉ trên linux).
    use epoll;

    # chấp nhận nhiều kết nối càng tốt.
    multi_accept on;
}

2, Tắt access logs.

- Nghe đến cái này chắc bạn cũng rất ngạc nhiên đúng không. Tuy nhiên việc writer access log đối với các site có số lượng user hoạt động lớn cũng làm giảm 1 phần hiệu suất I/O của hệ thống do phải đọc ghi access.
Nhưng biện pháp này tuyệt đối không nên làm nếu như bạn không chắc chắn rằng site của mình hoạt động ổn định 100%.

# nginx.conf
access_log off; 

log_not_found off; 

error_log /var/log/nginx-error.log warn;

3, Sử dụng Gzip.

Chúng ta nên bật Gzip trên nginx để nén các file tĩnh nhằm mục đính giảm dung lượng của các file tĩnh.

gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

4, Cache thông tin của các file thường xuyên hoạt động.

open_file_cache max=2000 inactive=20s;
open_file_cache_valid 60s;
open_file_cache_min_uses 5;
open_file_cache_errors off;

5, Cache các file tĩnh và media.

Nhằm giúp trang web được load nhanh hơn và server sẽ không phải trả về nhiều file tĩnh thì bạn nên cache các file đó vào browser

location ~* \.(3gp|gif|jpg|jpeg|png|ico|wmv|avi|asf|asx|mpg|mpeg|mp4|pls|mp3|mid|wav|swf|flv|exe|zip|tar|rar|gz|tgz|bz2|uha|7z|doc|docx|xls|xlsx|pdf|iso|eot|svg|ttf|woff)$ {
	        gzip_static off;
		add_header Pragma public;
		add_header Cache-Control "public, must-revalidate, proxy-revalidate";
		access_log off;
		expires 30d; # cache 30 ngay
		break;
        }

        location ~* \.(txt|js|css)$ {
	        add_header Pragma public;
		add_header Cache-Control "public, must-revalidate, proxy-revalidate";
		access_log off;
		expires 30d; # cache 30 ngay
		break;
        }
    }

 

Nguồn: Toidicode.com

Thông tin tác giả

Vũ Thanh Tài

Vũ Thanh Tài

Biển học vô biên, quay đầu là dại!

Hãy tham gia group facebook để cùng giao lưu chia sẻ kiến thức! Tham Gia