2008-10-01から1ヶ月間の記事一覧
同じホストの異なるプロセスの間で、高速な通信を行いたいときがあります:fork() したプロセスと通信したい場合や、「アプリケーションたくさん → localhostのクライアントデーモン1つ → サーバー」という形で接続したい*1 *2 場合などなど。 あるいは共有…
pthread_系の関数は mutex か cond しか待てないが、select/poll/epoll はファイルディスクリプタしか待てないので、両方待ちたいときに困る。解決方法はいろいろあると思いますが、私の思いつく範囲では以下の4つ。 selectで待ち、シグナルで割り込む ファ…
今のところチラシの裏的な話。 ネットワークプロトコルは、 リクエストした順番通りにレスポンスを返す(リクエストの順番とレスポンスの順番が同期している) リクエストした順番通りにレスポンスが返ってくるとは限らない(リクエストの順番とレスポンスの…
1000行はテキトーなハッタリだが良くあること ;-) memstored の本体は memstored.cc ファイル1つに収まっており、その行数は600行程度しかない。memstored のポイントは、少ない行数で高速なサーバーをカンタンに書けたことであった。memstored の実装につ…
memstored は memcached のバイナリプロトコルをサポートしたハッシュストレージサーバーです。IO戦略ライブラリmpio の信頼性と性能をテストするために開発しました。IOに mp::iothreads を使用し、バックエンドには Tokyo Cabinet の抽象データベースAPIを…