• 一些网路相关的问题


    1.   redis/mysql这类pconnect链接 对方关闭了链接以后,如果不发FIN, 会发生什么呢,如果是connect呢?

    2.   php-fpm进程如果执行sleep的脚本,此时怎么能看到其他请求是否被积压呢?(都是通过一个端口监听过来的,但是实际通信的是其他端口,其他端口可以通过lsof看到在变), 另外如果积压了,那么php-fpm是以什么方式来触发对新的socket链接的处理的呢? 这个是否可以想象下epoll的具体流程?? pm.status_patch=/matrix_monitor_page  的实现是怎么样的

      1 server {
      2     listen 8666;
      3     root /data0/www/htdocs/test;
      4     access_log /data0/www/logs/test-access_log main;
      5     error_log  /data0/www/logs/test-error_log;
      6     index index.php;
      7
      8     if ( $uri ~ "^/matrix_monitor_page" ){ break; }
      9
     10     location ~ /matrix_monitor_page {
     11         include tengine.fastcgi_params;
     12         fastcgi_param  SCRIPT_FILENAME "$document_root/robots.php";
     13         fastcgi_pass 127.0.0.1:9888;
     14     }
     15
     16     location / {
     17         root /data0/www/htdocs/test;
     18         index  index.php index.html index.htm;
     19     }
     20
     21     location ~ .php$ {
     22         root /data0/www/htdocs/test;
     23         fastcgi_pass   127.0.0.1:9888;
     24         fastcgi_index  index.php;
     25         set $real_script_name $fastcgi_script_name;
     26         fastcgi_param  SCRIPT_FILENAME  $document_root$real_script_name;
     27         include        tengine.fastcgi_params;
     28     }
     29
     30 }

    php-fpm status字段的含义:

    pool php-fpm pool的名称,大多数情况下为www
    process manager 进程管理方式,现今大多都为dynamic,不要使用static
    start time php-fpm上次启动的时间
    start since php-fpm已运行了多少秒
    accepted conn pool接收到的请求数
    listen queue 处于等待状态中的连接数,如果不为0,需要增加php-fpm进程数
    max listen queue 从php-fpm启动到现在处于等待连接的最大数量
    listen queue len 处于等待连接队列的套接字大小
    idle processes 处于空闲状态的进程数
    active processes 处于活动状态的进程数
    total processess 进程总数
    max active process 从php-fpm启动到现在最多有几个进程处于活动状态
    max children reached 当pm试图启动更多的children进程时,却达到了进程数的限制,达到一次记录一次,如果不为0,需要增加php-fpm pool进程的最大数
    slow requests 当启用了php-fpm slow-log功能时,如果出现php-fpm慢请求这个计数器会增加,一般不当的Mysql查询会触发这个值

    3.     粘包问题

    https://github.com/ljt1018168/phpredis_fix_pconnect_protocol_error/blob/develop/test_redis.php

  • 相关阅读:
    什么时候是个头?
    生活就是这样
    差距究竟在哪里?
    认识到三个问题
    研究生三件事
    重写DNN6.2注册、登陆、修改等个人中心
    SQL游标的使用
    SQL UPDATE实现多表更新
    SQL 百万级两表数据间更新和添加
    DNN路径
  • 原文地址:https://www.cnblogs.com/sailrancho/p/12874831.html
Copyright © 2020-2023  润新知