溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Go和Python Web服務器性能對比分析

發布時間:2021-11-18 15:05:28 來源:億速云 閱讀:656 作者:iii 欄目:web開發

本篇內容介紹了“Go和Python Web服務器性能對比分析”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

為了比較,我選擇了下面的 Go 包:

◆ 原始的 Go http包;

◆ web.go 框架(它使用運行于獨立模式[standalone mode] 的 http 包);

◆ twister 框架 (它同樣使用 http 包)。

和下面的 Python Web服務器/框架:

◆ 使用 CherryPy WSGI 服務器的 web.py 框架;

◆ 使用 flup FastCGI 做 nginx 服務器的后臺處理的 web.py 框架;

◆ tornado 異步服務器/框架;

◆ nginx 做負載均衡的 tornado。

每一個用例,我都編寫了一個小應用,略微復雜一些的、傳統的 Hello World 例子。任何應用都包括:

◆ 使用正則表達式通過 URL 路徑傳遞參數;

◆ 使用語句創建多行輸出;

◆ 使用 printf 形式的格式化函數/表達式格式化輸出。

我想,這些都是在 Web 應用中常見的操作,所以應當包含在任何簡易的性能對比測試中。所有測試應用的代碼在下面的鏈接中:

◆ Go http

◆ web.go

◆ twister

◆ web.py

◆tornado

測試環境

測試環境包括兩臺 使用千兆以太網鏈接的PC (請求發起者和應用服務器)。

◆ 請求發起者:2 x Xeon 2.6 GHz with hyperthreading, Debian SID, kernel: 2.6.33.7.2-rt30-1-686 #1 SMP PREEMPT RT;

◆ 服務器: MSI Netbook with two core Intel U4100 1.30GHz, AC power connected, 64-bit Ubuntu 10.10, kernel: 2.6.35-25-generic #44-Ubuntu SMP, Python 2.6.6-2ubuntu2, web.py 0.34-2, flup 1.0.2-1, tornado 0.2-1, nginx 0.7.67-3ubuntu1;

為了產生 HTTP 請求并且評估測試應用的性能,我使用 siege 性能測試工具。Siege 可以用多線程模擬多個用戶。我使用了下面的命令產生請求:

siege -c 200 -t 20s http: //SERVER_ADDR :8080 /Hello/100

或者多個類似的命令,減少參數 -c 的量(在這個測試中,我同時運行了多個 Python 腳本)。它模擬了 200 用戶的請求,并持續 20 秒。這個 URL 使得 Web 應用對每個請求都輸出 100 行。Go 應用使用 Go 發布版 2011-02-01.1。

結果

GOMAXPROCS=1, 一個 Python 進程:

框架請求速率 [1/sec]
Go http1350
Twister1324
Web.go1141
Tornado882
Tornado+nginx862
Web.py+CheryPy169
Web.py+nginx114

GOMAXPROCS=2, 兩個 Python 并發進程:

Go和Python Web服務器性能對比分析

GOMAXPROCS=4, 四個 Python 并發進程:

Go和Python Web服務器性能對比分析

Web.py+nginx 工作的 flup FastCGI 選項:multiplexed=False, multithreaded=False。如果 multiplexed=True 它會運行得慢一些。如果 multithreaded=True 而只有一個進程服務于 nginx 服務器,會報下面的錯誤:

Go和Python Web服務器性能對比分析

“Go和Python Web服務器性能對比分析”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女