コメント(View)サーバの監視やモニタリングなどのサービス・ソリューションを提供するMSP(マネージメントサービスプロバイダ)のハートビーツの馬場さんが「Webエンジニアが知っておきたいインフラの基本」という本を出版されました。250Amazon.co.jpで詳細を見る献本頂きありがとうございます!!冬休みは実家に帰ったり、旅行に行ったりと何かとイベント事が多くなかなか本を読む時間が取れなかったり、年が明ければ弟妹・甥っ子姪っ子にお年玉を上げないとならず、自由に使えるお金も減ってしまうかもしれません。読んでみて欲しい本が何冊もあっても困ってしまいますね。そこで自分がお勧めしたいのが、この一冊「Webエンジニアが知っておきたいインフラの基本」です。本屋に行く時間がない方も安心。チューニングレシピとなっています。前半の一章から四章はネットワークやシステム構成の基礎をふまえて、要件定義や設計のベストプラクティスが書かれています。広範囲な内容にも関わらずわかりやすくまとまっているので、この前半の章はエンジニアだけではなく、エンジニアと一緒に仕事をするディレクタにも読んで欲しいところです。某社でディレクタをやっている妻も「会社の同僚に読ませたい」と言っていました。後半はまさに自分の得意としている領域ですが、運用監視を行う場合の指針、監視項目の作り方、障害対応の方法や心構えから始まります。六章以降はCactiのグラフを例にメトリクスグラフの読み方、負荷状況を調査するためのLinuxのコマンド、パフォーマンスを出すためのチューニングのポイントなどが紹介されています。第六章以降は実際の業務で多いに役に立つ内容であることがもちろんなのですが、最も重要なことは第五章に書かれています。繰り返しながら育てること!」と2回も枠をとって書かれているのが印象的です。システムを運用している限り障害は必ず起きるものです、障害はシステムを成長させるチャンスです。そのチャンスを潰さずに運用を育てるヒントが五章で紹介されています。DevOpsによってインフラを動かす主体がアプリケーションエンジニアに移り、さらにmicroserviceによって担当するサービスの可用性やスケーラビリティの責任が開発するチームに委ねられるようになってきています。障害に気付けない、対応できない、再発対策が実行できないままで居られることはできません。この本を手に取って、サービスの運用監視を考える機会になればと思います。全てのWebエンジニア・ディレクタにお勧めの一冊です。World”なベンチマークでUnicornに比べ2倍高速に動作するRackサーバをリリースしました。https://github.com/kazeburo/rhebokPerlのGazelleをベースに作っています。Rackアプリケーションの運用経験がほぼないので、機能不足があると思います。issue等で教えて頂ければ幸いです。高速に動作するアプリケーションサーバが必要なのかUnicornは高速に動作します。多くのアプリケーションにとっては十分でしょう。それでもRhebokでさらに上のパフォーマンスを出そうとしたのは、技術的なチャレンジの他に以下のようなアプリケーションで高速なアプリケーションサーバが必要とされると考えているからです。ソーシャルゲーム、広告サーバ、SNSなど、高度に最適化が行われているサービス。1台のサーバで数百req/secを処理するサーバコストに敏感な1PVあたりの利益が小さいサービス。効率のよいアプリケーションサーバによりサーバコストを下げられる可能性がある同じ技術を用いて作られたGazelleは既にいくつかのサービスに投入され、CPU使用率を数%さげるなどの効果がありました。World”を返すベンチマークで約2倍のパフォーマンスを発揮します。ベンチマークはEC2上で行いました。32コアのc3.xlargeを使い、nginxのworker数を16、unicornとrhebokのworker数は8で起動し、wrkで500並列にて負荷を掛けました。現実とはかけ離れた環境となっているのは、unicornが高速に動作するので通常の環境ではなかなか差がでないためです。ベンチマークの詳細はREADMEに書きました。deployが可能PerlのStarlet、Gazelleといったサーバの移植なので同じオプションをサポートしています。詳しくはまた別の機会に紹介したいと思います。予選でUnicornをRhebokにしたときのスコアsonotsさんがRaptorで試しているので、同じ事をRhebokでもチャレンジします。現実的なWebサービス環境でRhebokによるパフォーマンス向上がどの程度あるのか調べるのに、ISUCONの予選問題は適当な題材です。予選でアプリケーションを変更せずに予選通過ラインを突破するの術を参考にmysqlのindex作成my.cnfの変更sysctl.confでポート数の拡大nginxの設定を行います。trueプロセス数を10から4に下げています。score:43933Unicornと比べ、2000程度のスコアが上昇し、Rhebokに変更することで一定の効果があるということがわかりました。検索このアーカイブについてこのページには、2014年12月に書かれたブログ記事が新しい順に公開されています。前のアーカイブは2014年11月です。次のアーカイブは2015年1月です。最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。Typeこのブログはクリエイティブ・コモンズでライセンスされています。