nginx down掉一台伺服器之後

2021-08-21 18:14:07 字數 1190 閱讀 6583

測試發現的問題及解決辦法

1、當後端兩台應用伺服器都正常時,訪問速度非常快,檢視日誌,原來乙個請求,是後端兩台伺服器同時響應的;

2、為了模仿故障測試,停掉一台應用伺服器,這時再訪問,請求開啟一頁麵時,發現有一半響應比較快,另一半響應很慢,最後頁面是可以開啟,但速度 不理想,很慢,檢視error日誌,發現nginx還是把請求的一半發往已停掉的那台伺服器,難怪會這麼慢;但當很快(10秒內)再開啟乙個請求頁面時, 速度又非常快了,檢視日誌,發現nginx不會把請求的一半發往已停掉的那台伺服器;過一會再發起乙個請求時,又出現有一半響應比較快另一半響應很慢的現 象了,檢視日誌,nginx又把請求的一半發往已停掉的那台伺服器;

3、到這裡,我明白了nginx檢查後端應用伺服器的健康時是有乙個時間間隔的,應該怎樣處理這個問題呢,當後端有一台伺服器down機時,使用者訪問感覺不出有慢的現象?原來在nginx負載均衡配置裡加上下面兩個引數時可以有效的解決這個問題:

upstream iisserver {

server 192.168.0.20:80 weight=5max_fails=2 fail_timeout=600s;

server 192.168.0.21:80 weight=5max_fails=2 fail_timeout=600s;

3.1)max_fails = number ---- 在一定時間內(這個時間在fail_timeout引數中設定)檢查這個伺服器是否可用時產生的最多失敗請求數,預設為1,將其設定為0可以關閉檢查,這 些錯誤在proxy_next_upstream或fastcgi_next_upstream(404錯誤不會使max_fails增加)中定義;

3.2)fail_timeout = time ---- 在這個時間內產生了max_fails所設定大小的失敗嘗試連線請求後這個伺服器可能不可用,同樣它指定了伺服器不可用的時間(在下一次嘗試連線請求發起 之前),預設為10秒,fail_timeout與前端響應時間沒有直接關係,不過可以使用proxy_connect_timeout和 proxy_read_timeout來控制。

我設定當有2個請求失敗,就表示後端的伺服器不可用,在以後的600s時間內nginx不會再把請求發往已檢查出標記為不可用的伺服器,再次測試時,把 後端一台iis應用服務務器停掉,只是有乙個請求開啟頁面時出現上面的現象,以後10分鐘內都不會出現了,請求頁面開啟速度正 常,fail_timeout的值可以根據你的實際情況而定。

nginx down掉一台伺服器之後

測試發現的問題及解決辦法 1 當後端兩台應用伺服器都正常時,訪問速度非常快,檢視日誌,原來乙個請求,是後端兩台伺服器同時響應的 2 為了模仿故障測試,停掉一台應用伺服器,這時再訪問,請求開啟一頁麵時,發現有一半響應比較快,另一半響應很慢,最後頁面是可以開啟,但速度 不理想,很慢,檢視error日誌,...

從一台伺服器向另一台伺服器拷貝檔案

使用scp命令 scp就是secure copy,scp在主機複製檔案。他使用ssh作為資料傳輸。而且用同樣認證和安全性。scp將在認證中請求輸入密碼所有的檔案可能需要伺服器和使用者的特別描述來指明檔案將被複製到 從某台伺服器。而兩個遠端登入的伺服器間的檔案複製是允許的。scp命令選項 1 強制sc...

我是一台伺服器

我是一台伺服器,待在某家半死不活的資料中心裡,混日子。聽那些上了年歲的前輩講,很久很久以前,我所在的這家資料中心也是行業翹楚。先進的裝置 一流的人才 瘋狂的市場推廣讓它大出風頭,優厚的待遇和輕鬆的環境也成為了同行羨慕的物件。那時候,前台的妹子都月薪上萬了 前輩一邊這麼說,一邊擦去嘴角留下的哈喇子,一...