鯖側の非同期の話
モヤモヤ感があるので書いておく。
モヤッとしてるところ
非同期でクエリを投げれても鯖が並列に処理してるとは限らないのでは?
mysqlなんかは接続した時にserver thread idなんかを返してきてるので
1接続、1スレッドを割り当ててると思って思ってるんだけど。違うの?
ちなみに僕はtwisted版でpure python mysql driverも書いたことがあるけど
クエリの追い越しとかなかったんだよなあ。
(重いクエリを先になげてPKで引くクエリを投げても投げた順でしか返らない)
クライアントの待ち時間を最小にすることはできるかも知れないけど全体が
高速になるかっつーと鯖もそーなってないとダメじゃねーの?みたいな。
まあクエリを投げて結果を待って次を投げるとかって処理になってたら早くなる
とは思うけど。
あと、ブロックしてるようなコードで非同期やってくれるのをまともなレベルで
できてるのってeventletぐらいじゃないかな。
(実績としてはSecondLifeで使われてる)
つまりpython最強って話なんですけどね。