php高并发大流量站点nginx优化

我们的站点目前能应对千万级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 必须打开。

时间: 2024-11-15 14:22:02

php高并发大流量站点nginx优化的相关文章

高并发大流量站点架构简单思路

******************************* 前端 ******************************* 1.添加必要的硬件和带宽,同一时候额外储备一部分,以备不时之需 2.特别监控网络数据流量是否正常.如是否有大规模的爬虫.DDOS等浑水摸鱼,能够针对iP和Cookie的限流 3.使用CDN同一时候做一些必要的算法改造,动静分离 ******************************* 代码端 ******************************* 1

高并发大流量网站 10 个解决方法

高并发大流量网站 10 个解决方法1.硬件升级 普通的P4服务器一般最多能支持每天10万独立IP,如果访问量比这个还要大, 那么必须首先配置一台更高性能的专用服务器才能解决问题 ,否则怎么优化都不可能彻底解决性能问题. 2.负载均衡 它是根据某种负载策略把请求分发到集群中的每一台服务器上,让整个服务器群来处理网站的请求.公司比较有钱的,可以购买专门负责负载均衡的硬件(如:F5),效果肯定会很好.对于大部分公司,会选择廉价有效的方法扩展整个系统的架构,来增加服务器的吞吐量和处理能力,以及承载能力.

网站高并发大流量访问的处理及解决方案

1.硬件升级 普通的P4服务器一般最多能支持每天10万独立IP,如果访问量比这个还要大, 那么必须首先配置一台更高性能的专用服务器才能解决问题 ,否则怎么优化都不可能彻底解决性能问题. 2.负载均衡 它是根据某种负载策略把请求分发到集群中的每一台服务器上,让整个服务器群来处理网站的请求. 公司比较有钱的,可以购买专门负责负载均衡的硬件(如:F5),效果肯定会很好.对于大部分公司,会选择廉价有效的方法扩展整个系统的架构,来增加服务器的吞吐量和处理能力,以及承载能力. 3.服务器集群 服务器集群就是

php解决与处理网站高并发 大流量访问的方法

方法/步骤 首先,确认服务器硬件是否足够支持当前的流量 普通的P4服务器一般最多能支持每天10万独立IP,如果访问量比这个还要大, 那么必须首先配置一台更高性能的专用服务器才能解决问题 ,否则怎么优化都不可能彻底解决性能问题. 其次,优化数据库访问前台实现完全的静态化当然最好,可以完全不用访问数据库,不过对于频繁更新的网站, 静态化往往不能满足某些功能. 缓存技术就是另一个解决方案,就是将动态数据存储到缓存文件中,动态网页直接调用 这些文件,而不必再访问数据库,WordPress和Z-Blog都

高并发大流量

1.首先关注参数 首先关注我们的请求量是多少,单台服务器并发量是多少 请求数 响应时间 并发连接数是指系统同时处理的请求数量. 2.然后根据我们需要达到多少并发数,采取相应的方案 数据库缓存.负载均衡.读写服务器.CDN加速. 静态HTML缓存 业务分离.分布式存储 3.流量优化 防盗链处理 前端优化:减少http请求,图片合并, 添加异步请求 启用浏览器缓存和文件压缩 原文地址:https://www.cnblogs.com/juanzhi/p/12562768.html

高并发大流量网站架构简单思路

******************************* 前端 ******************************* 1.增加必要的硬件和带宽,同时额外储备一部分,以备不时之需 2.特别监控网络数据流量是否正常,如是否有大规模的爬虫.DDOS等浑水摸鱼,可以针对iP和Cookie的限流 3.使用CDN同时做一些必要的算法改造,动静分离 ******************************* 代码端 ******************************* 1.必要的

大数据量高并发訪问的数据库优化方法

????假设不能设计一个合理的数据库模型.不仅会添加client和server段程序的编程和维护的难度,并且将会影响系统实际运行的性能.所以,在一个系统開始实施之前,完备的数据库模型的设计是必须的. ????在一个系统分析.设计阶段.由于数据量较小.负荷较低.我们往往仅仅注意到功能的实现.而非常难注意到性能的薄弱之处,等到系统投入实际运行一段时间后,才发现系统的性能在降低.这时再来考虑提高系统性能则要花费很多其它的人力物力,而整个系统也不可避免的形成了一个打补丁project. ????所以在考

JAVA开发之大型互联网企业高并发架构Tomcat服务器性能优化视频教程

课程目标熟练掌握高并发架构Tomcat服务器性能优化. 适用人群对计算机,java开发人员,Java架构师,运维感兴趣的朋友! 课程简介Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun和其他一些公司及个人共同开发而成.Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选. Tomc

高流量站点NGINX与PHP-fpm配置优化

导读 使用Nginx搭配PHP已有7年的经历,这份经历让我们学会如何为高流量站点优化NGINX和PHP-fpm配置. 以下正是这方面的一些提示和建议: 1. 将TCP切换为UNIX域套接字 1. 将TCP切换为UNIX域套接字UNIX域套接字相比TCP套接字在loopback接口上能提供更好的性能(更少的数据拷贝和上下文切换). 但有一点需要牢记:仅运行在同一台服务器上的程序可以访问UNIX域套接字(显然没有网络支持). upstream backend { # UNIX domain sock