我是靠谱客的博主 顺利战斗机,这篇文章主要介绍php高并发大流量站点nginx优化,现在分享给大家,希望可以做个参考。

我们的站点目前能应对千万级PV以及百万级的并发,对php+nginx的优化有一点点心得,写下来做一些记录。

1.TCP sockets 与Unix sockets

Unix sockets比TCP sockets提供更好一些的性能(因为I/O数据读写少,上下文切换少)。

复制代码
1
2
3
4
5
upstream backend { server unix:/var/run/fastcgi.sock; # server 127.0.0.1:8080; }
登录后复制

2.禁用或者优化access_log

大流量访问时,较大的访问会导致访问日志对磁盘的读写非常大。如果不需要日志的话,可以禁用掉。

复制代码
1
2
access_log off; log_not_found off;
登录后复制

或者打开缓冲

复制代码
1
access_log /var/log/nginx/access.log main buffer=32k;
登录后复制

3.打开Gzip

复制代码
1
2
3
4
5
6
7
8
9
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.优化输出缓存

复制代码
1
2
3
4
5
6
7
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.优化worker processes

nginx是多进程的而不是多线程的,对于进程相关的配置我们需要如下优化。

首先看一下服务器的处理器数。

复制代码
1
cat /proc/cpuinfo | grep processor
登录后复制

然后设置worker_processes,进程数为得到的处理器数。 worker_connections 是每一个进程可以打开的最大连接数,可以调大一些。下面给一个参考。

复制代码
1
2
3
4
5
6
7
8
9
# We have 16 cores worker_processes 16; # connections per worker events { worker_connections 4096; multi_accept on; } 记住multi_accept 必须打开。
登录后复制

最后

以上就是顺利战斗机最近收集整理的关于php高并发大流量站点nginx优化的全部内容,更多相关php高并发大流量站点nginx优化内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(90)

评论列表共有 0 条评论

立即
投稿
返回
顶部