出版社を探す

達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践

他著:藤原 俊一郎
他著:馬場 俊彰
他著:中西 建登

紙版

内容紹介

LINE株式会社が主催するWebサービスのパフォーマンスチューニングコンテスト、ISUCON(Iikanjini Speed Up Contest)で技術を競い合ってきた著者がWebサービス高速化のための考え方とノウハウをわかりやすく解説。
本書では、お題となるWebサービスをひとつ用意して、手を動かしながら高速化手法を学んでいきます。Webサービスがどのくらいの負荷に耐えられるか、どのくらいの負荷で不具合が起こるかを検証し、不具合が起こる原因を突き止め、改善していきます。また、負荷に対応する方法だけでなく、負荷を発生させる方法(ベンチマーカーの作成方法)も紹介します。
本書を読んで、Webサービス高速化について理解を深め、性能を向上させましょう。

目次

Chapter1 チューニングの基礎知識
1-1 “高速であること”は現代のWebサービスの必須要件
1-2 高速なWebサービスとは
1-3 Webサービスの負荷
1-4 必要十分なキャパシティを用意するには
1-5 パフォーマンスチューニング“きほんのき”
1-6 パフォーマンスチューニング“きほんのほ”
1-7 パフォーマンスチューニング“きほんのん”
1-8 まとめ

Chapter2 モニタリング
2-1 モニタリングとは - インフラにおけるテスト
2-2 モニタリングに対する考え方
2-3 モニタリングの種類
2-4 手動でのモニタリング
2-5 モニタリングツール
2-6 モニタリングツールのアーキテクチャ
2-7 実際にモニタリングを行う
2-8 モニタリングの注意点
2-9 ログに対するモニタリング
2-10 まとめ

Chapter3 基礎的な負荷試験
3-1 本書で扱うWeb サービス private-isu
3-2 負荷試験の準備
3-3 ベンチマーカーによる負荷試験の実行
3-4 パフォーマンスチューニング 最初の一歩
3-5 ベンチマーカーの並列度
3-6 まとめ

Chapter4 シナリオを持った負荷試験
4-1 負荷試験ツールk6
4-2 k6による単純な負荷試験
4-3 k6でシナリオを記述する
4-4 複数のシナリオを組み合わせた統合シナリオを実行する
4-5 負荷試験で得られたアクセスログを解析する
4-6 まとめ

Chapter5 データベースのチューニング
5-1 データベースの種類と選択
5-2 データベースの負荷を測る
5-3 インデックスでデータベースを速くする
5-4 N+1とは
5-5 データベースとリソースを効率的に利用する
5-6 まとめ

Chapter6 リバースプロキシの利用
6-1 アプリケーションとプロセス・スレッド
6-2 リバースプロキシを利用するメリット
6-3 nginxとは
6-4 nginxのアーキテクチャ
6-5 nginxによる転送時のデータ圧縮
6-6 nginxによるリクエスト・レスポンスのバッファリング
6-7 nginxとアップストリームサーバーのコネクション管理
6-8 nginx のTLS通信を高速にする
6-9 まとめ

Chapter7 キャッシュの活用
7-1 キャッシュデータ保存に利用されるミドルウェア
7-2 キャッシュをKVSに保存する際の注意点
7-3 いつキャッシュを利用するか
7-4 具体的なキャッシュ実装方法
7-5 キャッシュを監視する
7-6 まとめ

Chapter8 押さえておきたい高速化手法
8-1 外部コマンド実行ではなく、ライブラリを利用する
8-2 開発用の設定で冗長なログを出力しない
8-3 HTTPクライアントの使い方
8-4 静的ファイル配信をリバースプロキシから直接配信する
8-5 HTTPヘッダーを活用してクライアント側にキャッシュさせる
8-6 CDN上にHTTPレスポンスをキャッシュする
8-7 まとめ

Chapter9 OSの基礎知識とチューニング
9-1 流れを見極める
9-2 Linux Kernelの基礎知識
9-3 Linux のプロセス管理
9-4 Linuxのネットワーク
9-5 LinuxのディスクI/O
9-6 CPU利用率
9-7 Linuxにおける効率的なシステム設定
9-8 Linuxカーネルパラメータ
9-9 MTU(Maximum Transmission Unit)
9-10 まとめ

付録
A private-isuの攻略実践
A-1 用意した競技用環境
A-2 ベンチマーカーの実行方法
A-3 各章の技法を適用する
A-4 まとめ

B ベンチマーカーの実装
B-1 ISUCONのベンチマーカーは何をするのか
B-2 ベンチマーカーに頻出する実装パターン
B-3 private-isuを対象としたベンチマーカーの実装
B-4 まとめ

著者略歴

他著:藤原 俊一郎
藤原俊一郎
2011年より面白法人カヤック。SREチーム所属。ISUCON優勝4回、出題3回。最近の趣味はマネージドサービスの隙間を埋める隙間家具のようなツールを作ってOSSにすること。著書に『みんなのGo言語[現場で使える実践テクニック]』(共著、技術評論社)。
他著:馬場 俊彰
馬場俊彰
株式会社X-Tech 5取締役CTO、株式会社iCARE技術顧問。ISUCON第一回にプロジェクターを持ち込んで参加しSELinux=Enforcingで入賞。本選に進出したり、遠巻きに運営の手伝いをしたりしています。
他著:中西 建登
中西建登
株式会社サイバーエージェント 2019年新卒入社。CloudMakerとしてプライベートクラウドの開発運用に従事。ISUCON8にて史上初の学生総合優勝、ISUCON10にて史上初のプライベートクラウドチームによるインフラ提供を主導。インターネットコミュニティだいすき。

ISBN:9784297128463
出版社:技術評論社
判型:B5変
ページ数:360ページ
定価:2980円(本体)
発行年月日:2022年06月
発売日:2022年06月04日
国際分類コード【Thema(シーマ)】 1:UB