高并发时,会出现php-fpm线程不够用的情况,此时一般需要调整backlog,之前也分析过:如果worker进程不够用,master进程会prefork更多进程,
如果prefork达到了pm.max_children上限,worker进程又全都繁忙,这时master进程会把请求挂起到连接队列b[……]

Read more

Nginx报错日志发现有类似内容:

[alert] 12339#0: 1024 worker_connections are not enough

这报错呢,简单来说就是配置里的worker_connections太小了,并发量上去后,不够用了,调整也简单,修改nginx.conf里work[……]

Read more

Nginx:

  1. 工作在网络7层,可以针对http应用做一些分流的策略,比如针对域名,目录结构
  2. Nginx对网络的依赖较小,理论上能ping通就能进行敷在功能
  3. Nginx安装配置比较简单,测试起来很方便
  4. 也可以承担较高的负载压力且稳定,Nginx是为了解决c10k问题而诞生的[……]

    Read more

直接摘录结论:
如果是在同一台服务器上运行的nginx和php-fpm,并发量不超过1000,选择unix socket,因为是本地,可以避免一些检查操作(路由等),因此更快,更轻。
如果我面临高并发业务,我会选择使用更可靠的tcp socket,以负载均衡、内核优化等运维手段维持效率。
&n[……]

Read more

  1. weight 轮询(默认)。每个请求按时间顺序逐一分配到不同的后端服务器,如果后端某台服务器宕机,故障系统被自动剔除,使用户访问不受影响。weight。指定轮询权值,weight值越大,分配到的访问机率越高,主要用于后端每个服务器性能不均的情况下。
  2. ip_hash。每个请求按访问IP的hash[……]

    Read more

之前 Nginx WebSockets 代理实现
https://shipengliang.com/software-exp/nginx-websockets-%e4%bb%a3%e7%90%86%e5%ae%9e%e7%8e%b0.html

对nginx实现WebSockets做了最基本的[……]

Read more

奇葩情况是这样的,反向代理用了域名,然后有些IP失效,但是依然缓存,NGINX的反代就不对了~后来经老大指点,解析的dns后加个参数即可强制30秒解析一次~
示例:

resolver 114.114.114.114 valid=30s;

[……]

Read more