•  焚心以火
    2018-12-31
    是不是有个口误?

    在视频4分06秒。老师说,保存大量的上下文信息,需要把url跟headr一直保存下来。url通常还比较长。所以需要4k。

    是不是改成。对于请求而言呢?因为之前说过一次对于连接而言。这次是针对request_pool_size所说,即请求内存池,跟请求有关(当然,请求也可以叫做连接,请求连接)。

    故,我觉得是否口误了?
    展开

    作者回复: 对,口误啦,谢谢指出。对于请求而言,才需要大量上下文信息,连接不需要。

    
     3
  • Q
    2018-12-12
    老师 请问 压测nginx 返回499比较多 是不是php程序与后台交互慢吗? 还是nginx配置有问题?

    作者回复: 后端慢的话,可以考虑nginx加缓存来缩短响应时间,或者压测客户端增大读超时时间。499是客户端读超时关连接造成的,加了proxy_ignore_client_abort on; 也不解决问题。推荐从超时时间或者优化响应速度入手。

    
     3
  • 逍遥子
    2018-12-02
    老师讲得真好

    作者回复: 谢谢

    
     2
  • 18911632119
    2018-12-26
    老师,我这边一个应用遇到一个问题。nginx反向代理一web服务器,access.log返回200了,但是客户端没收到响应,您建议我这边先抓包,access.log再增加remote_port。这是个流量很大的系统,而且是随机出现的问题。抓包不太现实,能否认为access.log的某个url请求返回状态码是200就认为nginx肯定是把响应出去了呢(或者说发给了我们前面的负载,而是负载到客户浏览器这段网络内数据丢了呢)。

    作者回复: nginx打印access.log时,这条请求的response肯定已经发出去了,但只是nginx进程把write请求提交给linux kernal了,至于kernal有没有发到交换机,交换机有没有给到机房的路由器,有没有从广域网发到客户网络,等等,都是不可知的。
    如果抓包不现实,那么就看端口吧,把remote_addr和remote_port打印到access日志中,然后对照浏览器上的src_port看。

    
     1
  • vector_jin
    2020-01-09
    老师,请教下 对于 http body数据的解析有使用内存池吗,另外内存分配算法使用的是jemalloc吗?

    作者回复: 1、有;
    2、你说的是C库内存池,这个与Nginx无关,而与Nginx运行时,链接的到底是ptmalloc2还是tcmalloc或者jemalloc有关。通常默认情况下,是ptmalloc2

    
    
  • vector_jin
    2020-01-09
    对于body数据的解析有使用内存池吗

    作者回复: 有的

    
    
  • 不能如期而至
    2019-09-12
    最近几节课,涉及操作系统层面的知识,信息量比较大,全是干货,我都是看好几遍,。讲的很好。

    作者回复: 第5部分课程也涉及较多OS知识

    
    
  • 志远
    2019-03-30
    给老师点赞,听得很明白。虽然公司目前没用上,但是还是要学习的。
    
    
  • 18911632119
    2018-12-25
    老师,我这边一个应用遇到一个问题。nginx反向代理一web服务器,access.log返回200了,但是客户端没收到响应,客户端浏览器一直显示等待响应状态。
    这种情况有可能是什么原因呢。流量大时比较容易出现,有可能是交换机丢包吗?

    作者回复: 抓个包,access日志把remoteaddr和remoteport也打印下,看看是不是因为丢包先

    
    
  • Panda
    2018-12-16
    内存池 原理跟 数据库连接池类似吧

    作者回复: 不太一样,nginx内存池与http协议相关度很大,当请求结束时、连接关闭时统一释放。

    
    
  • Q
    2018-12-13
    老师 请问下
    nginx有没有防DDOS的安全模块? 效果如何?

    作者回复: 进程防止DDOS攻击效果不行,大规模的攻击下还没到进程就已经崩了。如果只是应对小流量,可以考虑openresty+waf

    
    
  • Q
    2018-12-12
    老师 请问 压测nginx 返回499比较多 是不是php程序与后台交互慢吗? 还是nginx配置有问题?
    继续这个问题,老师我在nginx中配置关于响应时间设置为:
                             fastcgi_connect_timeout 6000;
                            fastcgi_read_timeout 6000;
                            fastcgi_send_timeout 6000;
    php.ini 配置为max_execution_time = 600
    fpm配置为request_terminate_timeout = 0
    不知道设置是否正确: 依旧是499
    您说的加缓存 NGINX缓存是否把静态页和动态页 一起缓存了 对客户端访问实时性是否有影响
    另外 如果超时时间和缓存都不起作用的话 是不是意味着 只能优化代码了?
    展开

    作者回复: 压测工具超时设置大一些

    
    
  • 没事走两步
    2018-12-02
    老师,怎么理解请求内存,和连接内存的概念

    作者回复: 在第3部分的第3课会讲它们的区别和使用场景。

    
    
  • x
    2018-11-28
    老师,请教个问题,request_pool_size是为每个请求分配的内存大小,请求内存池是预先分配了一定数量的request_pool_size,用完就丢到池里(类似java的连接池),重复使用,还是一个请求进来就向请求内存池申请分配一次,没有预先创建一定数量的request_pool_size?

    作者回复: 预先分配一部分,但没有释放,仅在请求结束后全部释放掉该内存池。第3部分课程里,会详细介绍,包括对应着哪些指令。

    
    
我们在线,来聊聊吧