国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

利用 NGINX 最大化 Python 性能,第二部分:負載均衡和監控

Snailclimb / 2115人閱讀

摘要:現有的服務器和應用程序服務器相結合并在一個冒泡中運行,無法直接接觸網絡流量,由反向代理服務器提出填鴨式請求。賦予高可用性讓你的反向代理服務器鏡像到在線備份,同時擁有備用的應用程序服務器,讓你的站點高度可用。

【編者按】本文主要介紹 NGINX 的主要功能以及如何通過 Nginx 優化 Python 應用性能。本文系國內 ITOM 管理平臺 OneAPM 編譯呈現。

本文上一篇系: 利用 NGINX 最大化 Python 性能,第一部分:Web 服務和緩存。

Python 以其高性能腳本語言而著稱,而 NGINX 則能夠通過增加代碼的實際執行速度來提供助力。對于單一服務器來說,如果網頁的一半由靜態文件組成(很多網頁都有一半由靜態文件組成),增加靜態文件緩存可使這類網頁性能翻倍,緩存動態應用程序內容能夠進一步提升應用程序性能。

但這種方法并不是對所有應用都受用,或者說提升的性能不足夠。這時就要考慮橫向擴展了---遷移到多服務器應用。多服務器應用不僅功能強大、使用靈活、幾乎能夠無限擴展,而且成本較低。讓我們繼續前面的優化 Python 性能。

技巧 6---將 NGINX 作為反向代理服務器

從單服務器環境來講,部署反向代理服務器似乎是個很大的進步,因為這一部署非常簡單,實現的功能卻相當強大。添加反向代理服務器后,不僅性能立即得到大幅提升,還有機會實現:

增強性能 --- 在現有的 Python 應用程序前放置一個 NGINX 服務器。無需更改 Web 服務器軟件或配置?,F有的 Web 服務器和應用程序服務器相結合并在一個冒泡中運行,無法直接接觸網絡流量,由反向代理服務器提出填鴨式請求。

優化性能 --- 按照我們上一篇介紹 Python 的文章,針對應用程序生成的文件實施靜態文件緩存微應用緩存。但現在,我們要在新的反向代理服務器而不是應用程序服務器上實施。運行應用程序的服務器明顯減輕了工作負載,這樣就擴充了應用程序的容量,讓所有用戶都能感受到更高性能。

橫向擴展 — 增加更多應用程序服務器并對其實施負載均衡,利用持續會話實現每位用戶的連貫體驗。

賦予高可用性 — 讓你的反向代理服務器鏡像到在線備份,同時擁有備用的應用程序服務器,讓你的站點高度可用。

監控與管理 — NGINX Plus 提供了高級監測與管理功能,同時配備主動體檢 —— 如果設定了主動體檢,反向代理服務器會主動向各個服務器發出帶外請求,核實各個服務器的可用性。

技巧 7---重寫 URL

Web 服務器配置通常包括 URL 重寫規則。你可以制作美觀的 URL 方便用戶理解,也可以讓 URL 在資源遷移后仍然不變。

NGINX 配置(包括重寫 URL)使用的指令數量較少,也被眾多人士認為是簡單明了。但如果不熟悉,使用前還是要經歷一個學習過程。可以把 Creating NGINX Rewrite Rules 這篇文章當做介紹。

下面給出一個使用重寫指令的 NGINX 重寫規則樣板。此規則查找了以 /download開頭的 URL,之后還在路徑中包含 /media//audio/ 目錄。此規則用 /mp3/ 替換這些元素,并增加合適的文件擴展名 .mp3.ra。變量 (1 和 )2 獲取保持不變的路徑元素。例如,/download/cdn-west/media/file1 變成 /download/cdn-west/mp3/file1.mp3。

server {
    ...
    rewrite ^(/download/.*)/media/(.*)..*$ $1/mp3/$2.mp3 last;
    rewrite ^(/download/.*)/audio/(.*)..*$ $1/mp3/$2.ra  last;
    return  403;
    ...
}

要在 NGINX 中實現類似 Apache 的效果,你可以在第一個服務器塊中匹配短 URL 的請求,然后把它們重定向到匹配長 URL 的第二個服務器塊。

# USE THIS CONVERSION
server {
    listen      80;
    server_name example.org;
    return      301 http://www.example.org$request_uri;
}

server {
    listen      80;
    server_name www.example.org;
    ...
}
技巧 8---實施負載均衡

擴充網站容量、提高網站可用性的終極辦法就是運行多臺應用程序服務器并實施負載均衡。

配備 NGINX 的負載均衡 PHP 服務器,要實現 NGINX 負載均衡,首先用你需要均衡的各個服務器來創建一個服務器群組。然后編寫配置代碼,代碼包括服務器權重---如果服務器的處理能力較強,請給它分配較大的權重,給它送去更多流量。

upstream stream_backend {
    server backend1.example.com:12345 weight=5;
    server backend2.example.com:12345;
    server backend3.example.com:12346;
}
技巧 9---啟用會話持續性和會話耗盡

網絡默認用于無狀態交互;如果需要特定狀態的信息,可以通過若干方法來實施。如果狀態位于應用程序服務器上,就得讓這臺服務器在會話期間處理指定用戶的所有請求,這就叫做會話持續。

要管理多個負載均衡的服務器,會話耗盡是一項有效工具。利用 NGINX Plus在一臺服務器上的上游群組中設置耗盡參數,NGINX Plus 會讓這臺服務器放松下來,不會給它發送新的請求,而是讓現有連接繼續下去,直到會話結束。

技巧 10---啟用監控和管理功能

如果服務器配置較為復雜,在保持高性能和避免宕機時,監測和管理就變得尤其重要。監控 NGINX 狀態頁,在服務器可能遇到麻煩時通知用戶,讓用戶監測自己的系統,根據信息在問題發生前采取行動。

NGINX 提供了一個內置控制面板來監測 NGINX 服務器的健康狀況。你可以收集 NGIGX 面板數據確定每臺特定服務器是否有問題。

結論

Python 創建的網站要能夠同時吸引眾多用戶,那就需要強大的性能支持,如果你采用的是 Nginx 做 Web 服務器,可以從上面10個方面來優化性能。


本文轉自 OneAPM 官方博客
原文地址:Maximizing Python Performance with NGINX, Part II: Load Balancing and Monitoring

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/37935.html

相關文章

  • 利用 NGINX 大化 Python 性能,二部負載均衡監控

    摘要:現有的服務器和應用程序服務器相結合并在一個冒泡中運行,無法直接接觸網絡流量,由反向代理服務器提出填鴨式請求。賦予高可用性讓你的反向代理服務器鏡像到在線備份,同時擁有備用的應用程序服務器,讓你的站點高度可用。 【編者按】本文主要介紹 NGINX 的主要功能以及如何通過 Nginx 優化 Python 應用性能。本文系國內 ITOM 管理平臺 OneAPM 編譯呈現。 本文上一篇系: 利用...

    zhangrxiang 評論0 收藏0
  • 利用 NGINX 大化 Python 性能,一部:Web 服務緩存

    摘要:無論是將其用作的服務器反向代理服務器負載均衡器,還是同時使用以上三種功能,和都能帶來很大好處。再就是下篇文章會介紹如何把和當作反向代理服務器和多個應用程序服務器的負載均衡器。而使用將會有助于解決這一問題。 【編者按】本文主要介紹 nginx 的主要功能以及如何通過 NGINX 優化 Python 應用性能。本文系國內 ITOM 管理平臺 OneAPM 編譯呈現。 Python 的著名之...

    1treeS 評論0 收藏0
  • 利用 NGINX 大化 Python 性能,一部:Web 服務緩存

    摘要:無論是將其用作的服務器反向代理服務器負載均衡器,還是同時使用以上三種功能,和都能帶來很大好處。再就是下篇文章會介紹如何把和當作反向代理服務器和多個應用程序服務器的負載均衡器。而使用將會有助于解決這一問題。 【編者按】本文主要介紹 nginx 的主要功能以及如何通過 NGINX 優化 Python 應用性能。本文系國內 ITOM 管理平臺 OneAPM 編譯呈現。 Python 的著名之...

    v1 評論0 收藏0
  • 當當彈性化中間件及云化之路(據說讀完可以少踩坑)

    摘要:第二部分介紹當當的彈性化中間件。第三部分當當的云化之路。下面部分是為當當運營人員與合作伙伴提供的系統,如商品價格庫存等。下圖是當當的監控系統以及限流系統的。當當采用的作業中間件是自研的,它可以將一個完整的作業拆分為多個相互獨立的任務。 showImg(https://segmentfault.com/img/remote/1460000009999152); 6月24日,雙態運維·烏鎮...

    王陸寬 評論0 收藏0
  • 2021 年最新基于 Spring Cloud 的微服務架構

    摘要:是一個相對比較新的微服務框架,年才推出的版本雖然時間最短但是相比等框架提供的全套的分布式系統解決方案。提供線程池不同的服務走不同的線程池,實現了不同服務調用的隔離,避免了服務器雪崩的問題。通過互相注冊的方式來進行消息同步和保證高可用。 Spring Cloud 是一個相對比較新的微服務框架,...

    cikenerd 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<