問題現象:效能測試,loadrunner 大量http 502報錯,但是反觀系統的cpu和記憶體使用均正常,資料庫也基本上沒有什麼壓力。然後去看nginx的日誌,發現了大量如下報錯:no live upstreams while connecting to upstream
然後從監控上看到如下現象,發現time wait狀態的socket連線異常多,這就意味著作業系統存留了大量待**的已關閉socket連線。作為伺服器,短時間內關閉了大量的client連線,就會造成伺服器上出現大量的time_wait連線,佔據大量的tuple,嚴重消耗著伺服器的資源;因此這裡可以調優一把。
centos 優化大量time wait的方法如下
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30 然後執行
/sbin/sysctl -p讓引數生效。
net.ipv4.tcp_syncookies = 1 表示開啟syn cookies。當出現syn等待佇列溢位時,啟用cookies來處理,可防範少量syn攻擊,預設為0,表示關閉;
net.ipv4.tcp_tw_reuse = 1 表示開啟重用。允許將time-wait sockets重新用於新的tcp連線,預設為0,表示關閉;
net.ipv4.tcp_tw_recycle = 1 表示開啟tcp連線中time-wait sockets的快速**,預設為0,表示關閉。
net.ipv4.tcp_fin_timeout 修改系統預設的 timeout 時間
第一次效能測試 http load
http load 以並行復用的方式執行,用以測試webx伺服器的吞吐量與負載。但是它不同於大多數壓力測試工具,它可以以乙個單一的程序執行,一般不會把客戶機高斯,還可以測試https類的 請求。http load用法 注 常用方式 http load r 200 s 900 http.txt 2 2...
第一次效能測試 http load
http load 以並行復用的方式執行,用以測試 webx 伺服器的吞吐量與負載。但是它不同於大多數壓力測試工具,它可以以乙個單一的程序執行,一般不會把客戶機高斯,還可以測試 類的 請求。http load用法 注 常用方式 模擬qps200 連續壓測 15分鐘,錯誤日誌輸出到 2.log 檔案中...
記錄一次效能優化
做了這麼久開發,終於涉及到效能優化了 原因是開啟乙個頁面花了2 6秒,被提了bug 不得不說自己有點小白,嘗試了非同步執行緒和把單次的dubbo查詢優化成批量的查詢。但是這兩種嘗試都沒有宣告成功 出了問題首先要找到問題在 既然是耗時,那就要看看到底 耗時最多 這裡要說一下,因為我是改別人的 所以對業...