タグ

webとパフォーマンスに関するdshimizuのブックマーク (2)

  • 「推測するな、計測せよ」のWebパフォーマンスにおける真の意味 - Webパフォーマンスについて

    ソフトウェア工学で著名なロバート・C・パイク氏のCプログラミングに関する覚書というものがあります。 ルール1: プログラムがどこで時間を消費することになるか知ることはできない。ボトルネックは驚くべき箇所で起こるものである。したがって、どこがボトルネックなのかをはっきりさせるまでは、推測を行ったり、スピードハックをしてはならない。 ルール2: 計測すべし。計測するまでは速度のための調整をしてはならない。コードの一部が残りを圧倒しないのであれば、なおさらである。 ルール3: 凝った(Fancy)アルゴリズムは nが小さいときには遅く、 nはしばしば小さい。凝ったアルゴリズムは大きな定数を持っている。nが頻繁に大きくなることがわかっていないなら、凝ってはいけない(nが大きくなるときでさえ、ルール2が最初に適用される)。 ルール4: 凝ったアルゴリズムはシンプルなそれよりバグを含みやすく、実装する

    「推測するな、計測せよ」のWebパフォーマンスにおける真の意味 - Webパフォーマンスについて
  • 新機能がサービスのパフォーマンスに悪影響を与えないか素早く推定する - Hatena Developer Blog

    こんにちは、 id:shiba_yu36 です。 先日、新しい機能や改善を加えようとする時に、それがデータベースに対して悪影響を及ぼさないか、どのように検証すれば良いですかという相談を受けました。つまり、新しく作った機能を導入した瞬間にデータベースが高負荷になりサービス全体に影響を与えたりしないか不安であるという相談です。その相談に対して僕は、簡単な計算式を作り、その機能のデータベースへの影響度をざっくり推定することで、リリース前に時間をかけずにパフォーマンスに悪影響を与えないか推定できるという話をしました。 この話をしていて、「リリースする前に新機能や改善がサービスのパフォーマンスに悪影響を与えないか素早く推定する」ことは、経験のあるエンジニアは自然とやっているけれど、あまりブログなどで言語化されていないと感じました。そこで、今回はこのことについてブログに書いてみます。 なぜ機能をリリー

    新機能がサービスのパフォーマンスに悪影響を与えないか素早く推定する - Hatena Developer Blog
  • 1