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 時,同時使用這兩個參數。
最后還調整了系統磁盤的虛擬內存

