Performance

Redisベンチマーク: EC2 C4 vs オンプレミス Xen 4.4

1年半前ぐらいに社内でベンチマークしていた結果を公開しておく。オンプレミスからAWSへ移行するときの参考にした (Webサービスをデータセンター移行するときに必要となる技術要素 - ゆううきブログ] 環境 Linux kernel 3.16, Debian 8 Redis バージョン: 2.…

ウェブシステム内の待ち行列をMackerelで可視化してみる

この記事は、Mackerel Advent Calendar 2017の19日目の記事です。 前日は fullsat_ さんによる Lambdaを使ってMackerelのアラートをRedmineのチケットにする でした。 ウェブシステムの障害発生時に、どのコンポーネントの処理が滞っているかをざっくり知り…

OS仮想化の性能オーバヘッド

ハードウェア仮想化に対するOS仮想化の利点と欠点 - ゆううきメモ の続き。 Systems Performance 11.2.1 Overheadの内容。 OS仮想化の性能オーバヘッドは、CPU実行とI/Oのオーバヘッド、他のテナント(ゲスト)からの影響にまとめられる。 CPU CPU実行のオーバ…

マルチスレッドアプリケーションにおける同期プリミティブ

Systems Performance 5.2.5 Concurrency and Parallelism に各種同期プリミティブについて書かれている。 マルチスレッドプログラミングは、マルチプロセスプログラミングのIPCのような、オーバヘッドのあるインタフェースなしで、スレッドが同じメモリに読…

ハードウェア仮想化に対するOS仮想化の利点と欠点

Systems Performance 11.2 OS Vertualization の内容。 基本的には、ハードウェア仮想化はリソースを二重に持っている分、オーバヘッドがあるけれども、その分独立性が高い、ということ。 Advantages ホストカーネルに対して、ゲストアプリケーションのI/Oオ…

リトルの法則とキャパシティプランニング

(引用: Systems Performance figure 2.18 Queueing Model) リトルの法則とは、安定した系において、平均待ち行列数は、平均到着率と平均待ち時間の積に等しい、という法則である。 (Systems Performanceの原文ではaverage service timeになっていたが、正確…

StackOverflowのシステムアーキテクチャ

Scaling Stack Overflow: Keeping it Vertical by Obsessing Over Performance from C4Media www.slideshare.net www.infoq.com “退屈さ”を維持する方法論に意味がある 知っていることから始めて,実地で測定し,遅い部分を直す パフォーマンスはサービスの"…

計算機の代表的なレイテンシとスケール感

レイテンシの単位は時間であるため、他の時間を単位とするメトリックと数値的に比較できる。 したがって、比較するための基準として、代表的なレイテンシのスケール感を覚えておくと役に立つ。 CPU cycle は 3.3 GHz プロセッサがベース Latency は実際の値…

ディスクが遅い?

書籍 Systems PerformanceのChapter 1の1.9節 Case Studiesの話。 データベースチームから、データベースサーバのディスクが遅いと言われる。 ディスクが遅いということが、データベースの問題を引き起こす直接の原因かどうかはわからない。 データベースチ…

パフォーマンス解析の観点

ボトルネック、もしくはレイテンシが支配的な処理以外を高速化しても意味がない。 高速化する価値のあるポイントを見極めるには、システムのパフォーマンス状況を把握する必要がある。 書籍 Systems Performance にはシステムパフォーマンスの解析の方向性と…