最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python flask與fastapi性能測(cè)試方法介紹

 更新時(shí)間:2022年12月09日 15:18:51   作者:我愛(ài)看明朝  
這篇文章主要介紹了Python flask與fastapi性能測(cè)試方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧

背景

sy項(xiàng)目通過(guò)MQ接受業(yè)務(wù)系統(tǒng)的業(yè)務(wù)數(shù)據(jù),通過(guò)運(yùn)行開(kāi)發(fā)者開(kāi)發(fā)的python腳本執(zhí)行業(yè)務(wù)系統(tǒng)與財(cái)務(wù)系統(tǒng)數(shù)據(jù)的一致性校驗(yàn)。

sy系統(tǒng)需要每天運(yùn)行大量的python腳本。目前使用falsk日運(yùn)行6W+次python腳本,由于性能存在瓶頸,需要引入

新的fastapi框架,來(lái)解決cpu、內(nèi)存性能壓榨不夠及目前的性能瓶頸。本文目標(biāo)給出兩者的性能測(cè)試報(bào)告。

給出選擇哪個(gè)框架的性能數(shù)據(jù)支撐。

apache ab介紹

apache ab性能測(cè)試

安裝

    yum -y install httpd-tools

部分參數(shù)說(shuō)明

-n  執(zhí)行的請(qǐng)求總數(shù)

-c 并發(fā)數(shù), 同時(shí)執(zhí)行的數(shù)量, c不能大于n
-p post請(qǐng)求指定的文件
-T header Content-type值,默認(rèn)為 'text/plain'

測(cè)試get請(qǐng)求

ab -c 10  http://127.0.0.1:8081/cppla

測(cè)試post請(qǐng)求

ab -n 100 -c 10 -T 'application/json' -p httpjson.txt  http://127.0.0.1:8081/cppla1  

// httpjson.txt的內(nèi)容
{"recordId": 123}

測(cè)試計(jì)劃

模擬真實(shí)每次請(qǐng)求調(diào)用腳本,分別對(duì)每一個(gè)數(shù)量級(jí)的請(qǐng)求量進(jìn)行測(cè)試。

請(qǐng)求總數(shù)每次并發(fā)數(shù)每次并發(fā)數(shù)每次并發(fā)數(shù)
100101001000
1000101001000
10000101001000
20000101001000
30000101001000
40000101001000
50000101001000
60000101001000
80000101001000

測(cè)試代碼

處理post請(qǐng)求,延時(shí)3s返回結(jié)果。flask啟動(dòng)20個(gè)進(jìn)程。fastapi啟動(dòng)一個(gè)進(jìn)程。

## flask 代碼
# coding: utf-8
from gevent import monkey
from gevent.pywsgi import WSGIServer
import requests
import datetime
import os
from multiprocessing import cpu_count, Process
from flask import Flask, jsonify,request
import json
import traceback
import importlib
from loguru import logger
import time
app = Flask(__name__)
# 執(zhí)行run方法
@app.route("/cppla1", methods=['POST', 'GET'])
def cppla1():
    data = request.json
    time.sleep(3)
    return data
# 啟動(dòng)監(jiān)聽(tīng)ip、端口
def run(MULTI_PROCESS):
    if MULTI_PROCESS == False:
        WSGIServer(('0.0.0.0', 8081), app).serve_forever()
    else:
        mulserver = WSGIServer(('0.0.0.0', 8081), app)
        mulserver.start()
        def server_forever():
            mulserver.start_accepting()
            mulserver._stop_event.wait()
       # for i in range(cpu_count()):
        for i in range(20):
            logger.info('啟動(dòng)進(jìn)程第幾個(gè):{}', i)
            p = Process(target=server_forever)
            p.start()
if __name__ == "__main__":
    # 單進(jìn)程 + 協(xié)程
    # run(False)
    # 多進(jìn)程 + 協(xié)程
    log_init()
    run(True)
## fastapi
# coding: utf-8
# import web framework
from fastapi import FastAPI
from fastapi.encoders import jsonable_encoder
from fastapi.responses import JSONResponse
# import base lib
import datetime
import os
import requests
import json
import traceback
import importlib
from loguru import logger
import time
app = FastAPI()
@app.post("/cppla1")
def function_benchmark(data:dict):
    time.sleep(3)
    return {"item": data}
# 啟動(dòng)監(jiān)聽(tīng)ip、端口
if __name__ == "__main__":
    import uvicorn
    uvicorn.run(app, host="0.0.0.0", port=8081)

測(cè)試結(jié)果

框架類型請(qǐng)求總數(shù)每次并發(fā)數(shù)耗時(shí)(s)每次并發(fā)數(shù)耗時(shí)(s)每次并發(fā)數(shù)耗時(shí)(s)
fastapi1001033.11910012.1481000ab命令不支持
flask1001045.08810081.1061000ab命令不支持
fastapi100010304.05710078.283100078.631
flask100010327.472100198.2731000303.442
fastapi1000010x100754.2961000757.719
flask1000010x1001550.11910001970.427
fastapi2000010x100x1000x
flask2000010x100x1000x
fastapi3000010x100x1000x
flask3000010x100x1000x
fastapi4000010x100x1000x
flask4000010x100x1000x
fastapi5000010x100x1000x
flask5000010x100x1000x
fastapi6000010x100x1000x
flask6000010x100x1000x
fastapi8000010x100x1000x
flask8000010x100x1000x

結(jié)論

fastapi是flask性能的3倍,推薦使用fastap。

到此這篇關(guān)于Python flask與fastapi性能測(cè)試方法介紹的文章就介紹到這了,更多相關(guān)flask與fastapi性能測(cè)試內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python里運(yùn)用私有屬性和方法總結(jié)

    python里運(yùn)用私有屬性和方法總結(jié)

    在本文里我們給大家分享了關(guān)于python里運(yùn)用私有屬性和方法總結(jié)以及相關(guān)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們跟著參考學(xué)習(xí)下。
    2019-07-07
  • python怎么提高計(jì)算速度

    python怎么提高計(jì)算速度

    在本篇文章里小編給大家分享的是一篇關(guān)于python中如何提高計(jì)算速度的技術(shù)文章,需要的朋友們可以學(xué)習(xí)下。
    2020-06-06
  • python3 adb 獲取設(shè)備序列號(hào)的實(shí)現(xiàn)

    python3 adb 獲取設(shè)備序列號(hào)的實(shí)現(xiàn)

    這篇文章主要介紹了python3 adb 獲取設(shè)備序列號(hào)的實(shí)現(xiàn)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 詳解Python 3.10 中的新功能和變化

    詳解Python 3.10 中的新功能和變化

    這篇文章主要介紹了詳解Python 3.10 中的新功能和變化,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-04-04
  • Python基礎(chǔ)實(shí)戰(zhàn)總結(jié)

    Python基礎(chǔ)實(shí)戰(zhàn)總結(jié)

    今天要給大家介紹的是Python基礎(chǔ)實(shí)戰(zhàn),本文主要以舉例說(shuō)明講解:?jiǎn)栴}的關(guān)鍵點(diǎn)就是在于構(gòu)造姓名,學(xué)號(hào)和成績(jī),之后以字典的形式進(jìn)行寫(xiě)入文件。這里準(zhǔn)備兩個(gè)列表,一個(gè)姓,一個(gè)名,之后使用random庫(kù)進(jìn)行隨機(jī)字符串拼接,得到姓名,需要的朋友可以參考一下
    2021-10-10
  • python裝飾器原理源碼示例分析

    python裝飾器原理源碼示例分析

    本文由淺入深介紹了python的裝飾器,并且通過(guò)代碼展現(xiàn)了如何自己手寫(xiě)裝飾器函數(shù)和類裝飾器,有需要的朋友可以參考下,希望可以有所幫助
    2021-09-09
  • opencv python 基于KNN的手寫(xiě)體識(shí)別的實(shí)例

    opencv python 基于KNN的手寫(xiě)體識(shí)別的實(shí)例

    這篇文章主要介紹了opencv python 基于KNN的手寫(xiě)體識(shí)別的實(shí)例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • Python中關(guān)于列表的常規(guī)操作范例以及介紹

    Python中關(guān)于列表的常規(guī)操作范例以及介紹

    列表是一種有序的集合,可以隨時(shí)添加和刪除其中的元素。在python中使用的頻率非常高,本篇文章對(duì)大家的學(xué)習(xí)或工作具有一定的價(jià)值,需要的朋友可以參考下
    2021-09-09
  • Python中清空l(shuí)ist的四種方法

    Python中清空l(shuí)ist的四種方法

    本文介紹了Python中清空列表的四種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • python之如何復(fù)制excel模板并保留表格樣式

    python之如何復(fù)制excel模板并保留表格樣式

    這篇文章主要介紹了python之如何復(fù)制excel模板并保留表格樣式問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06

最新評(píng)論

象州县| 启东市| 沂源县| 贵南县| 平舆县| 子洲县| 安吉县| 丘北县| 通化县| 广平县| 望江县| 英山县| 南澳县| 陇西县| 固原市| 宜阳县| 罗定市| 大方县| 蒲城县| 松桃| 天镇县| 岱山县| 济宁市| 剑阁县| 西林县| 寻乌县| 金乡县| 库车县| 宁城县| 宽甸| 台南县| 江永县| 涿州市| 和田县| 鄂伦春自治旗| 阿图什市| 宜丰县| 错那县| 龙游县| 湛江市| 天柱县|