成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Python的SQL性能測試

3fuyu / 370人閱讀

摘要:前言測試異步與同步下對于數(shù)據(jù)庫操作的性能通過測試同步以及異步下對于數(shù)據(jù)庫的增加和查找操作,以進(jìn)行性能評估。所以異步架構(gòu)在用于單純的數(shù)據(jù)庫操作時,并不能取得非常良好的性能優(yōu)化,數(shù)據(jù)庫操作本身的優(yōu)化還是依賴于操作本身以及數(shù)據(jù)庫結(jié)構(gòu)的優(yōu)化。

前言

測試異步與同步下Python對于PostgreSQL數(shù)據(jù)庫操作的性能

通過測試同步以及異步下對于數(shù)據(jù)庫的增加和查找操作,以進(jìn)行性能評估。更直觀的以及量化地感受同步以及異步下的性能差距。

環(huán)境初始化

代碼地址

需要安裝pipenv,詳細(xì)內(nèi)容可參考

pip3.6 install pipenv
git clone https://github.com/GuangTianLi/python-sql-performance.git
cd python-sql-performance
pipenv sync
pipenv shell
SQL操作性能評估
python postgresql_speed_test.py

  DBAPI:  psycopg2
         11004 function calls in 2.235 seconds
  DBAPI:  asyncpg
         471973 function calls in 2.436 seconds
  DBAPI:  uvloop
         206945 function calls in 0.794 seconds
  DBAPI:  psycopg2, total seconds 2.558364
  DBAPI:  asyncpg, total seconds 2.309759
  DBAPI:  uvloop, total seconds 2.032303  
結(jié)論

從結(jié)果上看,對于數(shù)據(jù)庫操作本身,異步對于其性能本身只能算是錦上添花。而異步操作本身則也需要添加對事件循環(huán)的處理,等于是變相的增加了運行時間,而如果每個數(shù)據(jù)庫操作本身所需要的時間小于事件循環(huán)處理的時間,則其總時間就是增加的。

所以異步架構(gòu)在用于單純的數(shù)據(jù)庫操作時,并不能取得非常良好的性能優(yōu)化,數(shù)據(jù)庫操作本身的優(yōu)化還是依賴于操作本身以及數(shù)據(jù)庫結(jié)構(gòu)的優(yōu)化。

WebServer性能評估 flask
python flask_server_speed_test.py
wrk -d 60 -c 100 -t 12 --timeout 8 http://127.0.0.1:8080/db
Running 1m test @ http://127.0.0.1:8080/db
  12 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   331.47ms  221.85ms   2.01s    89.71%
    Req/Sec    30.95     17.90    80.00     63.85%
  18597 requests in 1.00m, 3.10MB read
Requests/sec:    309.41
Transfer/sec:     52.88KB
sanic
python sanic_server_speed_test.py
wrk -d 60 -c 100 -t 12 --timeout 8 http://127.0.0.1:8080/db
Running 1m test @ http://127.0.0.1:8080/db
  12 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   162.95ms   99.56ms   1.89s    87.88%
    Req/Sec    52.26     23.73   148.00     61.57%
  36702 requests in 1.00m, 4.83MB read
Requests/sec:    610.64
Transfer/sec:     82.29KB
結(jié)論

從中等量級的壓測的結(jié)果上看,對于異步架構(gòu)的網(wǎng)絡(luò)服務(wù)器,在性能上有了很大的提升。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/38997.html

相關(guān)文章

  • PythonSQL性能測試

    摘要:前言測試異步與同步下對于數(shù)據(jù)庫操作的性能通過測試同步以及異步下對于數(shù)據(jù)庫的增加和查找操作,以進(jìn)行性能評估。所以異步架構(gòu)在用于單純的數(shù)據(jù)庫操作時,并不能取得非常良好的性能優(yōu)化,數(shù)據(jù)庫操作本身的優(yōu)化還是依賴于操作本身以及數(shù)據(jù)庫結(jié)構(gòu)的優(yōu)化。 前言 測試異步與同步下Python對于PostgreSQL數(shù)據(jù)庫操作的性能 通過測試同步以及異步下對于數(shù)據(jù)庫的增加和查找操作,以進(jìn)行性能評估。更直觀的以...

    Simon 評論0 收藏0
  • Lunar, 一個Python網(wǎng)絡(luò)框架實現(xiàn)

    摘要:核心的幾個組件模板引擎,框架,請求和應(yīng)答的處理還是有一些難度,但是經(jīng)過一步步的分析和編碼還是能夠完成功能。模板引擎模板引擎是另外一個比較大和的模塊。 前前后后,大概兩個月的時間,lunar這個項目終于達(dá)到了一個很高的完整度。 Lunar是一個Python語言的網(wǎng)絡(luò)框架,類似于Django,F(xiàn)lask,Tornado等當(dāng)下流行的web framework。最初有這個想法是在大二下學(xué)期,...

    邱勇 評論0 收藏0
  • 如何創(chuàng)建一個數(shù)據(jù)科學(xué)項目?

    摘要:雖然我們可以在網(wǎng)上參照各種模板項目文章博客等創(chuàng)建一個數(shù)據(jù)科學(xué)項目,但是目前也沒有教科書對這些知識做一個統(tǒng)一的回答。舉個例子來說,數(shù)據(jù)科學(xué)分析項目通常就不需要部署和監(jiān)控這兩個過程。創(chuàng)建文件描述源數(shù)據(jù)及位置。進(jìn)一步探索和報告在整個數(shù)據(jù)科學(xué)項目中 摘要:?在一個新的數(shù)據(jù)科學(xué)項目,你應(yīng)該如何組織你的項目流程?數(shù)據(jù)和代碼要放在那里?應(yīng)該使用什么工具?在對數(shù)據(jù)處理之前,需要考慮哪些方面?讀完本文...

    Aceyclee 評論0 收藏0
  • 轉(zhuǎn)行測試看過來!0基礎(chǔ)~自動化測試,我整理超全學(xué)習(xí)指南...

    摘要:在這個階段,學(xué)習(xí)工具什么的,重點在于接口測試的學(xué)習(xí),所有的工具的學(xué)習(xí),都是在為了接口測試的學(xué)習(xí)做鋪墊。接口測試工具的使用。 很多朋友想要入行軟件測試,但是都不知道該怎么學(xué)。 抽個時間簡單的給大家說下,對于0基礎(chǔ)的朋友,應(yīng)該怎么去學(xué)習(xí)軟件測試。 學(xué)習(xí)軟件測試有2條路可以選。 最省事的當(dāng)然是找個...

    Hanks10100 評論0 收藏0
  • 學(xué)習(xí)軟件測試關(guān)鍵地方80%人都不清楚

    摘要:所以要想做好中級軟件測試工程師,第一步就是能夠完成接口測試。通常情況下,接口測試最多還是使用工具來完成原因無他,高效。 想來我26歲才正式投身進(jìn)入軟件測試行業(yè);通過...

    blastz 評論0 收藏0

發(fā)表評論

0條評論

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