我们的站点目前能应对千万级PV以及百万级的并发,对php+nginx的优化有一点点心得,写下来做一些记录。
1.TCP sockets 与Unix sockets
Unix sockets比TCP sockets提供更好一些的性能(因为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.优化worker processes
nginx是多进程的而不是多线程的,对于进程相关的配置我们需要如下优化。
首先看一下服务器的处理器数。
cat /proc/cpuinfo | grep processor
然后设置worker_processes,进程数为得到的处理器数。 worker_connections 是每一个进程可以打开的最大连接数,可以调大一些。下面给一个参考。
# We have 16 cores worker_processes 16; # connections per worker events { worker_connections 4096; multi_accept on; } 记住multi_accept 必须打开。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

Atom编辑器mac版下载
最流行的的开源编辑器

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。