NI-Lab.

nilog:

← 前の日 2016-05-14 次の日 →
← 一年前 一年後 →
Twitter (2016-05-14)
「イベント駆動モデルでは、上記のうちI/Oの多重化により、どのソケットからI/Oがあるかを知ることで、ブロッキングI/Oを用いていても複数のネットワークI/Oを捌けるようにしている」

2015年Webサーバアーキテクチャ序論 http://yuuki.hatenablog.com/entry/2015-webserver-architecture
[t] 2016-05-14 23:49:16
関連するかも情報
「スレッドと呼ばれるものに、OSが提供するネイティブスレッドとプログラミング言語のVM上に実装されたグリーンスレッド(Erlangの「プロセス」、Go言語のgoroutineなど)がある」

2015年Webサーバアーキテクチャ序論 http://yuuki.hatenablog.com/entry/2015-webserver-architecture
[t] 2016-05-14 23:48:15
「イベント駆動モデルでは、上記のうちI/Oの多重化により、どのソケットからI/Oがあるかを知ることで、ブロッキングI/Oを用いていても複数のネットワークI/Oを捌けるようにしている」

2015年Webサーバアーキテクチャ序論 http://yuuki.hatenablog.com/entry/2015-webserver-architecture
[t] 2016-05-14 23:49:16
「I/Oの多重化は、select/pollなどのシステムコールを用いて、複数のソケットのI/Oイベントを監視する。selectにより、データが受信可能なソケットでのみ、acceptやreadなどのブロッキングI/Oを基本的にブロックせずに呼び出せる」
[t] 2016-05-14 23:50:26
「イベント駆動モデルのメリットは、preforkやスレッドプールと違って、同時に接続できるクライアント数に上限がないことだ」「ハードウェアリソースやオープンしているディスクリプタ数の制限、listenバックログの制限などはもちろんあるが、モデルそのものには接続数の限界はない」
[t] 2016-05-14 23:51:09
「libmysqlclientはブロッキングI/O前提のコードなので、イベント駆動モデルでは使えない」

2015年Webサーバアーキテクチャ序論 - ゆううきブログ http://yuuki.hatenablog.com/entry/2015-webserver-architecture
[t] 2016-05-14 23:52:17
「言語またはフレームワークレベルにおけるプログラミングモデルの非同期処理サポートがないとかなり複雑なコードになってしまう」

2015年Webサーバアーキテクチャ序論 - ゆううきブログ http://yuuki.hatenablog.com/entry/2015-webserver-architecture
[t] 2016-05-14 23:52:23
「純粋なイベント駆動モデルの場合、1スレッドでしか動作しないためマルチコアスケールしない」

2015年Webサーバアーキテクチャ序論 - ゆううきブログ http://yuuki.hatenablog.com/entry/2015-webserver-architecture
[t] 2016-05-14 23:53:29
「prefork/スレッドプールとイベント駆動モデルを組み合わせることにより、マルチコアスケールさせる」

2015年Webサーバアーキテクチャ序論 - ゆううきブログ http://yuuki.hatenablog.com/entry/2015-webserver-architecture
[t] 2016-05-14 23:54:00
testing なら rust 使える

"Rust is a curly-brace, block-structured expression language."

Debian -- stretch の rustc パッケージ https://packages.debian.org/stretch/rustc
[t] 2016-05-14 23:59:38
2016年05年14日のnilogをすべて表示する

- NI-Lab.
- Mastodon (@nilab@mastodon-japan.net)
- Twitter (@nilab)
- Timelog (@nilab)
- はてなブックマーク (id:nilab)

Web Services by Yahoo! JAPAN