FastAPI
FastAPIでDjangoのORMを使う
非同期リクエスト vs マルチスレッドリクエスト vs 直列リクエスト
先の記事でI/Oバウンドの処理は、非同期処理が最適であるとわかった。 本記事では、それがはっきりとわかるコードを用意した。 非同期で大量のリクエストを送信し、レスポンスを受け取る。その処理時間を計測する。 比較のため、マルチスレッド、直列動作のコードも用意した。 使用ライブラリ pip install aiohttp requests fastapi uvicorn aiohappyeyeballs==2.4.4 aiohttp==3.11.11 aiosignal==1.3.2 annotated-types==0.7.0 anyio==4.8.0 async-timeout==5.0.1 attrs==25.1.0 certifi==2024.12.14 charset-normalizer==3.4.1 click==8.1.8 exceptiongroup==1.2.2 fastapi==0.115.7 frozenlist==1.5.0 h11==0.14.0 idna==3.10 multidict==6.1.0 propcache==0.2.1 pydantic==2.10.6 pydantic_core==2.27.2 requests==2.32.3 sniffio==1.3.1 starlette==0.45.3 typing_extensions==4.12.2 urllib3==2.3.0 uvicorn==0.34.0 yarl==1.18.3 非同期リクエストには、aiohttp を使う。通常の requests では非同期リク ...非同期処理(async、await)とマルチスレッド(threading)とマルチプロセス(multiprocessing)の違い
FastAPIでHelloworldとインストール
FastAPI とは? FastAPIは、高性能なウェブアプリケーションフレームワークで、Python3.8以上で動く。APIサーバーをつくることができる。 非同期(ASGI)をネイティブにサポートしているため、1スレッドで複数のリクエストを捌くことができる。 FastAPIでは非同期対応により、I/O待機時間を減らし、CPUリソースをフル活用できる。 インストール pip install fastapi uvicorn main.py をつくる from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"message": "Hello, World!"} サーバー ...