>  기사  >  PHP 높은 동시성 및 높은 트래픽 사이트 nginx 최적화

PHP 높은 동시성 및 높은 트래픽 사이트 nginx 최적화

无忌哥哥
无忌哥哥원래의
2018-06-27 14:53:242403검색

저희 사이트는 현재 수천만 PV와 수백만 동시성을 처리할 수 있습니다. php+nginx 최적화에 대한 경험이 조금 있어서 기록을 남기도록 하겠습니다.

1.TCP 소켓 및 Unix 소켓

Unix 소켓은 TCP 소켓보다 더 나은 성능을 제공합니다(I/O 데이터 읽기 및 쓰기가 적고 컨텍스트 전환이 적기 때문).

upstream backend 
{ 
  server unix:/var/run/fastcgi.sock; 
  # server 127.0.0.1:8080; 
}

2. access_log 비활성화 또는 최적화

대규모 트래픽으로 액세스하는 경우 액세스 로그가 매우 많은 양의 디스크를 읽고 쓰게 됩니다. 로깅이 필요하지 않은 경우 비활성화할 수 있습니다.

access_log off; 
log_not_found off;

또는 버퍼링을 켜세요

access_log /var/log/nginx/access.log main buffer=32k;

3. Gzip

gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_disable "MSIE [1-6]\.";


4. 출력 캐시 최적화

fastcgi_buffers 256 16k; 
fastcgi_buffer_size 128k; 
fastcgi_connect_timeout 3s; 
fastcgi_send_timeout 120s; 
fastcgi_read_timeout 120s; 
fastcgi_busy_buffers_size 256k; 
fastcgi_temp_file_write_size 256k;

5. nginx는 멀티 스레드가 아닌 멀티 프로세스입니다. -관련 다음과 같이 구성을 최적화해야 합니다.

먼저 서버의 프로세서 수를 살펴보세요.

cat /proc/cpuinfo | grep processor

그런 다음 작업자_프로세스를 설정하면 프로세스 수는 얻은 프로세서 수입니다. Worker_connections는 각 프로세스가 열 수 있는 최대 연결 수이며 늘릴 수 있습니다. 여기에 참조가 있습니다.

아아아아

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.