zoukankan      html  css  js  c++  java
  • Nginx出现10055错误问题

    Nginx在配置后遇到了socket问题:

    [alert] 3336#3636: select() failed (10055: An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full)

    查了一些资料也不能确定问题的原因,只能尝试修改一些参数配置:

    proxy_buffering    on;          #开启从后端被代理服务器的响应内容缓冲
    proxy_buffer_size  4k;          #设置从后端被代理服务器的响应内容缓冲区大小
    proxy_buffers    8 1M;         #设置从被代理的后端服务器取得的响应内容缓冲区的大小和数量
    proxy_busy_buffers_size  2M;       #高负荷下缓冲大小(proxy_buffers*2)
    proxy_max_temp_file_size    0;     #当 proxy_buffers 放不下后端服务器的响应内容时,会将一部分保存到硬盘的临时文件中,这个值用来设置最大临时文件大小,默认1024M
                           #它与 proxy_cache 没有关系。大于这个值,将从upstream服务器传回。设置为0禁用。

    因为Nginx配置再windows server2008上,为了保险起见,设置了注册表中的两个值:

    HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/ Services/TCPIP/Parameters  注册表子键并创建名为TcpTimedWaitDelay 的新 REG_DWORD 值 建议值:最小值为 0x1E,它将等待时间设置为 30 秒
    描述:确定 TCP/IP 可释放已关闭连接并重用其资源前,必须经过的时间。关闭和释放之间的此时间间隔通称 TIME_WAIT 状态或两倍最大段生命周期(2MSL)状态。
    此时间期间,重新打开到客户机和服务器的连接的成本少于建立新连接。
    减少此条目的值允许 TCP/IP 更快地释放已关闭的连接,为新连接提供更多资源。如果运行的应用程序需要快速释放和创建新连接,而且由于 TIME_WAIT 中存在很多连接,导致低吞吐量,则调整此参数。
    HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/ Services/TCPIP/Parameters   注册表子键并创建名为 MaxUserPort 的新 REG_DWORD 值
    描述:确定在应用程序从系统请求可用用户端口时,TCP/IP 可指定的最高端口号
    MaxUserPort 的新 REG_DWORD 值。 停止并重新启动系统。 缺省值:无 建议值:至少十进制 32768。
    注:当在 Windows NT 或 Windows 2000 操作系统上调整 WebSphere Application Server 时,同时使用这两个参数。

    最后还调整了系统磁盘的虚拟内存

  • 相关阅读:
    网站设计的65条原则
    汇编指令: VERW、WAIT、WBINVD、WRSHR、WRMSR、XADD、XBTS、XCHG、
    openssl编程入门(含完整可编译和运行示例)
    揭开Linux的Swap之谜
    成功的 Web 应用系统性能测试
    加密通讯协议SSL编程周立发
    Google Sparse Hash
    测试 Linux 的可靠性
    进程绑定CPU简单应用
    mylarge&mymedium&mysmall&myinnodbheavy4G
  • 原文地址:https://www.cnblogs.com/growingpains/p/7782827.html
Copyright © 2011-2022 走看看