SEO対策とセキュリティで企業をバックアップします。

インターネット上のアクセスボリュームUPをお約束します。

Python3 Bottleフレームワーク入門(その7)- マルチスレッドWEBサーバ

今回の記事ではBottleのWEBサーバについて解説していきたいと思います。Bottleの標準で用意されているWEBサーバはシングルスレッドのWSGIサーバ(wsgirefサーバ)です。Bottleに限らずほとんどの様々な言語のフレームワークはテスト用にシングルスレッドのWEBサーバが用意されています。あくまでも開発中に作ったものを確認するために用意されたものです。しかし、マルチスレッドでもう少し挙動を確認したい場合もあるはずです。やはりシングルとマルチではプログラムの作り方が根本的に違います。故にマルチスレッドでの動作ができる内部連携するWSGI WEBサーバをご紹介します。

マルチスレッドpasteモジュール

Bottleをマルチスレッドで動作させるモジュールは色々ありますが一番安定して使いやすいのがpasteモジュールです。今回はpasteモジュールのインプリメントを見ていきましょう。

pasteモジュールの導入

まず最初にpasteモジュールを導入します。

簡単なマルチスレッド起動のコーディングを書く

負荷テストでマルチスレッドとシングルスレッド比較

nperfを使ってマルチスレッドとシングルスレッドの負荷テストをしてみましょう。1ページのコンテンツのボリュームを多くすると差異が出やすいと思います。少しだと出にくいです。-cが並行スレッド数で-nがテストの回数です。

◯ シングルスレッドのプログラム

◯ nperfのインストール



pasteサーバの別の呼び出し方



Python Bottle Framework入門 全13回
1.基礎編サーバ起動
2.リクエストメソッド
3.ORM Peewee (MySQL)
4.ORM Peewee CRUD
5.Cookie And Session
6.Abort and Redirect
7.マルチスレッドWEBサーバ
8.デーモン化
9.Json
10.WSGI on SSL
11.Apache連携起動(外部WSGI) SSL接続
12.Apache連携起動(ReverseProxy)SSL接続
13.hprox連携起動(ReverseProxy)SSL接続&HTTP2対応

合わせて読みたいPython MySQL操作関連