skillup

技術ブログ

サーバー・ネットワーク

大規模Webサービス技術入門 イントロ

投稿日:

一応WEBサービスを日々改修していますが、データが日々ふえ、大規模なサービスの対処法などを勉強する必要があるため、「大規模サービス技術入門」を少しずつ読んでいこうと思います。

ポイント

  • データはディスク→メモリ→キャッシュメモリ→CPUというプロセスを経て、読み込まれる
  • ハードディスクのIOが一番のボトルネック、メモリから比べると10万倍から100万倍の違いがある
  • サーバースペックに関して各ソフトの要件に安全率(2倍ぐらい?)を書ける、簡易的な負荷試験をおこなうなど
  • ロードアベレージが高い場合、CPU,IOのどちらに問題があるかを切り分ける。sarコマンドでともにみることができる。前者は%user,後者はiowaitなどが代表的な指標。
  • チューニングの基本は問題の原因を知り、それを取り除くこと
  • webアプリケーションの場合、アプリの冗長化はロードバランサなどの方法から比較的簡単だが、データべースの分散はデータの整合性を取る関係上、分散が難しい
    CPU負荷→一般的にはデータ量は増えないものの異常に難しい計算などを何段階も行う場合、CPUに負荷がかかる(いわゆる計算系の処理)。CPUバウンドな処理ともいう。一般的にはアプリケーションサーバーがこのような傾向にある。
    IO負荷→大量のデータから任意のものを探すなど、大量のデータを前提とするような処理。一般的にはデータベースサーバーがこのような状態になる
  • 負荷を抑えるプログラムを作るうえでのコツは下記のようなもの
    1 アクセスする回数を減らす
    2 データ量の増加に対して強いアルゴリズム(正比例するようなアルゴリズムをかかない)
    3 データ圧縮や検索技術を使うこと

-サーバー・ネットワーク
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

SELinuxによるファイル制限+MySQLアクセスエラー

新サーバーにApacheをいれて特定のファイルにアクセスしようとしたところ、 以下のようなエラーがでてしまいました。

ただPermis …

no image

vagrantでサーバーの状態を保存(snapshot)

上司がAnsible(構成管理ツール)のサンプルをくれたのですが、試そうにもまっさらなサーバーを用意しないといけません。 サーバー環境を新規に契約するのは面倒なのでvagrantで当然考えています。 …

no image

SSLの設定に関して

実務でサーバーにSSLの設定をすることがあったので書いておきます。 Contents1 SSLとは?1.1 ファイルの設定方法2 設定方法全般に関して2.1 秘密鍵2.2 サーバー証明書と中間証明書の …

no image

サーバー設定ファイルについて apache

以前から気になっていたサーバーの設定ファイルに関しての疑問について調査。 本日はapacheについて学習しようと思います。 通常のapacheの設定ファイルは[crayon-6475516dd395a …

no image

IAMユーザー、ロールのポリシーの付与など

以前、↓のリンクでIAMの基本について少し扱ったので、もう少し具体的なパターンについて。 IAMユーザーについて 押さえておきたい概念としてはやはり ユーザー・・特定のキーなどでログインするユーザー …

アーカイブ