ブックマーク / crumbjp.hateblo.jp (3)

  • アパッチのソケットサーバ実装 - 中年engineerの独り言 - crumbjp

    少しずつアパッチの中の話をしていきます。 今回はネットワークサーバの基となるソケット実装の話です。 アパッチのソケットサーバ実装は結構有名な方法だと思っていたのですが 人との会話中に、意外と知られていないのかもしれないと感じる事もあったので 書いてみようと思った次第です。 入門書などで出てくる一般的なソケットサーバの実装方法 // ソケット作成 listen_sock = socket(...); // アドレス:ポートを紐付け bind(listen_sock,...); // クライアント受付開始 listen(listen_sock,...); // クライアント受付ループ for (;;){ // クライアントの接続まで待機 client_sock = accept(listen_sock,...); // 子プロセス作成 if ( fork() == 0 ) { // 子プロセ

    アパッチのソケットサーバ実装 - 中年engineerの独り言 - crumbjp
  • MongoDB 2.4 の性能 徹底評価(レコード長による評価) - 中年engineerの独り言 - crumbjp

    前回のMongoDB 2.4 の性能 徹底評価の反響が大きかったので続編。 今回の調査対象 ドキュメントサイズ毎の性能を評価する。 今回の検証用にベンチを書いた。 性能見積りにも使えると思うので、紹介しておきます。 MongoDB-JP/mongo_bench 今回の検証も、Sakura VPS 2G で行った。 専用環境ではないので、ある程度まわりの影響を受けている。(何度もベンチを取って極力排除はしたが、、) また、記事に載せた以外にも色々と検証しており、その結果も少し混ざっていたり。。 オンメモリデータの処理が高速な事は解っているので 今回の検証の肝は『ディスクアクセス』 MongoDBはメモリ以上のデータを扱う為のプロダクトなのでなるべく性能が出ない様な条件=ワーストケースを狙った。 2GBメモリに対して40GBのデータを扱い、データ全体を万遍なく使うようなクエリーを発行する。 評

    MongoDB 2.4 の性能 徹底評価(レコード長による評価) - 中年engineerの独り言 - crumbjp
  • MongoDB 2.4 の性能 徹底評価 - 中年engineerの独り言 - crumbjp

    まとめ 超長くなったのでまとめを上に持ってきた。 巷で言われているチューニングは結構嘘が多い事が解ってきた。 ツール等 workingSet Analyzer は信用ならない。(overSecondsはまあ良い) mongoperfの値は完全に参考にならない。 insert mongoperfの値はinsert性能と関連しない。(何を測ってるんだ?) カラムのプリアロケーションによるUPDATE時のデータ肥大化回避($setOnInsert)はMUST。 クリティカルな時間帯にストレージファイル(2GB)の生成を避けるチューニングの効果は懐疑的。 レコードプリアロケーション・チューニングは頑張る価値が無い。(むしろ逆効果) update 上記の通り必ずin-placeになるようにする。 paddingFactorが動くようだとお話にならない性能劣化 remove かなり高速。 全件削除の場

    MongoDB 2.4 の性能 徹底評価 - 中年engineerの独り言 - crumbjp
  • 1