前提:更改服務器的配置文件,支持大量鏈接。html
參考:http://ju.outofmemory.cn/entry/49498 修改服務器配置。nginx
OpenResty:服務器
1 參考 http://www.cnblogs.com/picaso/p/4211551.html 安裝 OpenResty測試
2 官網 http://openresty.org/en/getting-started.html rest
3 更改配置文件:netty
http { keepalive_timeout 2000000; --長鏈接timeout,一個很大的數 keepalive_requests 8192; --每一個鏈接最大請求數 }
events { worker_connections 1024000; --1百萬鏈接 }
4 客戶端: 本身study項目程序code
netty.demo.OpenRestyClient 類
當OpenResty服務端設置啓動1個work時,最大鏈接數達到27萬後,服務端會將全部的鏈接斷開。htm
疑問:是否是達到上限後,會自動斷開空閒鏈接?blog
因而,更改程序,客戶端每5分鐘發一次請求,保持活躍。測試發現,一樣,達到27萬後,服務端斷開全部鏈接。進程
疑問:設置多個work,是否是能夠提升鏈接數量?
測試發現,當設置2個work時,到達27萬,出現一樣現象。
使用dmesg命令,grep進程號,發現系統由於OOM把進程殺死了;而nginx又會重起worker。
5 內存的使用。
OpenResty底層使用的是nginx,每個worker佔用固定的內存,啓動的worker越多,進程佔用的內存越大。 當有鏈接進來時,worker佔用增長的內存並不大,但系統free內存大量減小,used內存大量增長。說明,每個鏈接系統佔用的內存更大。