Submit Search
Upload
中小規模サービスのApacheチューニング
•
Download as PPTX, PDF
•
7 likes
•
8,111 views
勲 國府田
Follow
中小規模のWEBサービスをApacheで運用している方がはじめてApacheチューニングする際にみていただくと良いと思います。
Read less
Read more
Internet
Report
Share
Report
Share
1 of 42
Download now
Recommended
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編
Yuki Morishita
[AKIBA.AWS] VGWのルーティング仕様
[AKIBA.AWS] VGWのルーティング仕様
Shuji Kikuchi
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
Amazon Web Services Japan
20190911 AWS Black Belt Online Seminar AWS Batch
20190911 AWS Black Belt Online Seminar AWS Batch
Amazon Web Services Japan
インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門
Akihiro Kuwano
20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver
20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver
Amazon Web Services Japan
わたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdf
わたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdf
ssuser868e2d
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
Amazon Web Services Japan
Recommended
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編
Yuki Morishita
[AKIBA.AWS] VGWのルーティング仕様
[AKIBA.AWS] VGWのルーティング仕様
Shuji Kikuchi
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
Amazon Web Services Japan
20190911 AWS Black Belt Online Seminar AWS Batch
20190911 AWS Black Belt Online Seminar AWS Batch
Amazon Web Services Japan
インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門
Akihiro Kuwano
20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver
20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver
Amazon Web Services Japan
わたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdf
わたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdf
ssuser868e2d
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
Amazon Web Services Japan
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
Amazon Web Services Japan
20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本
Amazon Web Services Japan
Istioサービスメッシュ入門
Istioサービスメッシュ入門
Yoichi Kawasaki
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
ロードバランスへの長い道
ロードバランスへの長い道
Jun Kato
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
Amazon Web Services Japan
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
NTT DATA Technology & Innovation
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
Amazon Web Services Japan
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Amazon Web Services Japan
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito
Amazon Web Services Japan
AWSではじめるDNSSEC
AWSではじめるDNSSEC
Tomohiro Nakashima
VPC Reachability Analyzer 使って人生が変わった話
VPC Reachability Analyzer 使って人生が変わった話
Noritaka Sekiyama
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
Amazon Web Services Japan
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
AWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct Connect
Amazon Web Services Japan
[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト
Takahiro Moteki
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)
J-Stream Inc.
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
Akihiro Kuwano
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコシステムズ合同会社
More Related Content
What's hot
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
Amazon Web Services Japan
20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本
Amazon Web Services Japan
Istioサービスメッシュ入門
Istioサービスメッシュ入門
Yoichi Kawasaki
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
ロードバランスへの長い道
ロードバランスへの長い道
Jun Kato
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
Amazon Web Services Japan
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
NTT DATA Technology & Innovation
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
Amazon Web Services Japan
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Amazon Web Services Japan
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito
Amazon Web Services Japan
AWSではじめるDNSSEC
AWSではじめるDNSSEC
Tomohiro Nakashima
VPC Reachability Analyzer 使って人生が変わった話
VPC Reachability Analyzer 使って人生が変わった話
Noritaka Sekiyama
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
Amazon Web Services Japan
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
AWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct Connect
Amazon Web Services Japan
[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト
Takahiro Moteki
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)
J-Stream Inc.
What's hot
(20)
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本
Istioサービスメッシュ入門
Istioサービスメッシュ入門
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
ロードバランスへの長い道
ロードバランスへの長い道
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito
AWSではじめるDNSSEC
AWSではじめるDNSSEC
VPC Reachability Analyzer 使って人生が変わった話
VPC Reachability Analyzer 使って人生が変わった話
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
AWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct Connect
[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)
Similar to 中小規模サービスのApacheチューニング
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
Akihiro Kuwano
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコシステムズ合同会社
Sparkパフォーマンス検証
Sparkパフォーマンス検証
BrainPad Inc.
20171206 d3 health_tech発表資料
20171206 d3 health_tech発表資料
dcubeio
SAS Visual Analytics 6.3 を使った DELL VRTX の評価
SAS Visual Analytics 6.3 を使った DELL VRTX の評価
Dell TechCenter Japan
自宅サーバーを立てる話
自宅サーバーを立てる話
naba0123
2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet Services
Naoto Gohko
OOW Tokyo 2012 Unconference つまらない STATSPACK をさらにややこしく解説してみよう
OOW Tokyo 2012 Unconference つまらない STATSPACK をさらにややこしく解説してみよう
Tadashi Yamashita
Packetbeatの基礎から、IoTデバイス異常検知への応用まで
Packetbeatの基礎から、IoTデバイス異常検知への応用まで
Satoyuki Tsukano
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
Yasutaka Hamada
ネットワーク通信入門
ネットワーク通信入門
Yuki Suga
システムパフォーマンス勉強会#5
システムパフォーマンス勉強会#5
shingo suzuki
Soft layer network概要_jslug向け
Soft layer network概要_jslug向け
Hideaki Tokida
Riakを利用したパーソナライズ事例
Riakを利用したパーソナライズ事例
Yahoo!デベロッパーネットワーク
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
Kunihiro TANAKA
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
VirtualTech Japan Inc.
20140828 #ssmjp 社内チューニンガソンで優勝したはなし
20140828 #ssmjp 社内チューニンガソンで優勝したはなし
Masahiro NAKAYAMA
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Takashi Kanai
[INSIGHT OUT 2011] A24 sql server wait events(mario broodbakker)
[INSIGHT OUT 2011] A24 sql server wait events(mario broodbakker)
Insight Technology, Inc.
Share pointを支えるsql server2014最新情報 tokyo_公開用
Share pointを支えるsql server2014最新情報 tokyo_公開用
Yukio Kumazawa
Similar to 中小規模サービスのApacheチューニング
(20)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
Sparkパフォーマンス検証
Sparkパフォーマンス検証
20171206 d3 health_tech発表資料
20171206 d3 health_tech発表資料
SAS Visual Analytics 6.3 を使った DELL VRTX の評価
SAS Visual Analytics 6.3 を使った DELL VRTX の評価
自宅サーバーを立てる話
自宅サーバーを立てる話
2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet Services
OOW Tokyo 2012 Unconference つまらない STATSPACK をさらにややこしく解説してみよう
OOW Tokyo 2012 Unconference つまらない STATSPACK をさらにややこしく解説してみよう
Packetbeatの基礎から、IoTデバイス異常検知への応用まで
Packetbeatの基礎から、IoTデバイス異常検知への応用まで
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
ネットワーク通信入門
ネットワーク通信入門
システムパフォーマンス勉強会#5
システムパフォーマンス勉強会#5
Soft layer network概要_jslug向け
Soft layer network概要_jslug向け
Riakを利用したパーソナライズ事例
Riakを利用したパーソナライズ事例
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
20140828 #ssmjp 社内チューニンガソンで優勝したはなし
20140828 #ssmjp 社内チューニンガソンで優勝したはなし
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
[INSIGHT OUT 2011] A24 sql server wait events(mario broodbakker)
[INSIGHT OUT 2011] A24 sql server wait events(mario broodbakker)
Share pointを支えるsql server2014最新情報 tokyo_公開用
Share pointを支えるsql server2014最新情報 tokyo_公開用
More from 勲 國府田
ネイルブックのSNS集客術〜Pinterest・SNS活用事例〜
ネイルブックのSNS集客術〜Pinterest・SNS活用事例〜
勲 國府田
逆説のネイルブックSEO 〜完全リニューアルマニュアル〜
逆説のネイルブックSEO 〜完全リニューアルマニュアル〜
勲 國府田
ユーザテストが教えてくれた女ゴコロ〜女性向けサービスの育て方〜
ユーザテストが教えてくれた女ゴコロ〜女性向けサービスの育て方〜
勲 國府田
ネイルブックでのWEB高速化の取り組み
ネイルブックでのWEB高速化の取り組み
勲 國府田
女性向けサービスでコンバージョン数を爆上げさせた話 〜ネイルブックが1年間でCV数を69倍にした方法〜
女性向けサービスでコンバージョン数を爆上げさせた話 〜ネイルブックが1年間でCV数を69倍にした方法〜
勲 國府田
Tech valley #5 株式会社スピカご紹介
Tech valley #5 株式会社スピカご紹介
勲 國府田
ネイルブックでのGoogle Play ASOについて
ネイルブックでのGoogle Play ASOについて
勲 國府田
SSDとTokyoTyrantやMySQLの性能検証
SSDとTokyoTyrantやMySQLの性能検証
勲 國府田
More from 勲 國府田
(8)
ネイルブックのSNS集客術〜Pinterest・SNS活用事例〜
ネイルブックのSNS集客術〜Pinterest・SNS活用事例〜
逆説のネイルブックSEO 〜完全リニューアルマニュアル〜
逆説のネイルブックSEO 〜完全リニューアルマニュアル〜
ユーザテストが教えてくれた女ゴコロ〜女性向けサービスの育て方〜
ユーザテストが教えてくれた女ゴコロ〜女性向けサービスの育て方〜
ネイルブックでのWEB高速化の取り組み
ネイルブックでのWEB高速化の取り組み
女性向けサービスでコンバージョン数を爆上げさせた話 〜ネイルブックが1年間でCV数を69倍にした方法〜
女性向けサービスでコンバージョン数を爆上げさせた話 〜ネイルブックが1年間でCV数を69倍にした方法〜
Tech valley #5 株式会社スピカご紹介
Tech valley #5 株式会社スピカご紹介
ネイルブックでのGoogle Play ASOについて
ネイルブックでのGoogle Play ASOについて
SSDとTokyoTyrantやMySQLの性能検証
SSDとTokyoTyrantやMySQLの性能検証
中小規模サービスのApacheチューニング
1.
中小規模サービスの Apacheチューニング 株式会社スピカ 國府田勲
2.
Copyright © Spika
Inc. 2016 all rights reserved. 2 自己紹介 國府田勲 株式会社スピカ 代表取締役 インフラエンジニア 数百万人 数千万人 100万人 http://qiita.com/kou
3.
Copyright © Spika
Inc. 2016 all rights reserved. 1. はじめに – 前提となるシステム構成 2. チューニングの進め方 – 監視の実施 – ボトルネックの調査 – チューニングの実施 3. チューニング事例 – 初期設定 – 個別設定 4. 質疑応答 3 アジェンダ
4.
Copyright © Spika
Inc. 2016 all rights reserved. 1. はじめに 4
5.
Copyright © Spika
Inc. 2016 all rights reserved. • 前提となるシステム構成 –OS • Linux –Apache • バージョン 2.2 • 動作モード prefork MPM –構成 • WEBサーバ1-2台程度 • データベース1台 5 1. はじめに WEBサーバ DBサーバ
6.
Copyright © Spika
Inc. 2016 all rights reserved. 2. チューニングの進め方 6
7.
Copyright © Spika
Inc. 2016 all rights reserved. 7 2. チューニングの進め方 Plan Do Check Action Plan 監視しボトルネック箇所を特定する Do チューニングを実施する Check 改善したか確認する Action 改善していなければ再度実施 チューニングもPDCAが重要
8.
Copyright © Spika
Inc. 2016 all rights reserved. • 監視の目的 – ベースラインの確立 – 性能劣化の検知 – ボトルネックの大まかな特定 – チューニング結果の確認 8 2. チューニングの進め方 / 監視の実施 定常的な監視を行う
9.
Copyright © Spika
Inc. 2016 all rights reserved. • 監視項目 – ネットワークの利用状況 – システムの利用状況 – プロセスの利用状況 – アプリケーションの応答・処理時間 9 2. チューニングの進め方 / 監視の実施
10.
Copyright © Spika
Inc. 2016 all rights reserved. • 死活監視とリソース監視の両方が統合されて いる • 保持されるデータ期間が比較的長いこと • 日付・時間を指定して動的なグラフ作成がで きること 10 2. チューニングの進め方 / 監視の実施 チューニングの観点からみた 監視ツール選択のポイント
11.
Copyright © Spika
Inc. 2016 all rights reserved. DIY型 SaaS型 11 2. チューニングの進め方 / 監視の実施
12.
Copyright © Spika
Inc. 2016 all rights reserved. 12 2. チューニングの進め方 / 監視の実施
13.
Copyright © Spika
Inc. 2016 all rights reserved. • 各種ログのチェック – エラーや設定上限値に関する情報が出力されていないか 確認する • モニタリングコマンドの実行 – vmstat – free – top など 13 2. チューニングの進め方 / ボトルネックの調査 監視ツールで大まかな傾向を把握し 詳細はサーバ上で確認する
14.
Copyright © Spika
Inc. 2016 all rights reserved. 14 2. チューニングの進め方 / ボトルネックの調査 vmstatのチェックポイント [kouda@nb-app]~% vmstat 1 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 9445900 284288 2531212 0 0 0 8 8 4 26 1 73 0 0 0 0 0 9445768 284288 2531220 0 0 0 0 1841 981 15 1 84 0 0 0 0 0 9445960 284288 2531228 0 0 0 92 2181 1197 29 1 71 0 0 0 0 0 9445532 284288 2531232 0 0 0 0 2020 979 24 0 76 0 0 2 0 0 9445672 284288 2531240 0 0 0 0 2365 1285 32 1 66 0 0 1 0 0 9445784 284288 2531244 0 0 0 0 852 469 8 0 92 0 0 1 0 0 9446068 284288 2531248 0 0 0 4 1424 798 11 1 88 0 0 procsチェックポイント • rがCPUコア数以上 • 何らかの理由で処理待ちが発生している • bが発生している • ディスクやネットワークのI/O待ちがある • ファイル書き込みや外部DBへの問い合わせ待ちがないか 確認
15.
Copyright © Spika
Inc. 2016 all rights reserved. 15 2. チューニングの進め方 / ボトルネックの調査 vmstatのチェックポイント [kouda@nb-app]~% vmstat 1 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 9445900 284288 2531212 0 0 0 8 8 4 26 1 73 0 0 0 0 0 9445768 284288 2531220 0 0 0 0 1841 981 15 1 84 0 0 0 0 0 9445960 284288 2531228 0 0 0 92 2181 1197 29 1 71 0 0 0 0 0 9445532 284288 2531232 0 0 0 0 2020 979 24 0 76 0 0 2 0 0 9445672 284288 2531240 0 0 0 0 2365 1285 32 1 66 0 0 1 0 0 9445784 284288 2531244 0 0 0 0 852 469 8 0 92 0 0 1 0 0 9446068 284288 2531248 0 0 0 4 1424 798 11 1 88 0 0 swapチェックポイント • si/soで数値が出力されている • swapが発生しているのでメモリ増設が必要
16.
Copyright © Spika
Inc. 2016 all rights reserved. 16 2. チューニングの進め方 / ボトルネックの調査 vmstatのチェックポイント [kouda@nb-app]~% vmstat 1 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 9445900 284288 2531212 0 0 0 8 8 4 26 1 73 0 0 0 0 0 9445768 284288 2531220 0 0 0 0 1841 981 15 1 84 0 0 0 0 0 9445960 284288 2531228 0 0 0 92 2181 1197 29 1 71 0 0 0 0 0 9445532 284288 2531232 0 0 0 0 2020 979 24 0 76 0 0 2 0 0 9445672 284288 2531240 0 0 0 0 2365 1285 32 1 66 0 0 1 0 0 9445784 284288 2531244 0 0 0 0 852 469 8 0 92 0 0 1 0 0 9446068 284288 2531248 0 0 0 4 1424 798 11 1 88 0 0 cpuチェックポイント • us+syの数値が100近い • CPUが性能限界 • waの数値が大きい • ディスクやネットワークでのI/O待ちが発生している
17.
Copyright © Spika
Inc. 2016 all rights reserved. 17 2. チューニングの進め方 / ボトルネックの調査 freeのチェックポイント bash-4.2# free -m total used free shared buffers cached Mem: 1997 1153 844 158 53 933 -/+ buffers/cache: 167 1830 Swap: 964 0 964 チェックポイント • buffers/cacheのfreeが0に近い • 利用できる残りのメモリ量が少ない
18.
Copyright © Spika
Inc. 2016 all rights reserved. • mod_statusの確認 – Apacheに用意されているモニタリングモジュール – Apacheのプロセスの稼働状況をモニタリングすることがで きます 18 2. チューニングの進め方 / ボトルネックの調査
19.
Copyright © Spika
Inc. 2016 all rights reserved. 19 2. チューニングの進め方 / ボトルネックの調査 # mod_statusモジュールを有効にする LoadModule status_module modules/mod_status.so # 詳細情報出力オプション(デフォルトOff) ExtendedStatus On # ハンドラー設定 <Location /server-status> SetHandler server-status Order deny,allow Deny from all Allow from .your.office </Location> mod_status有効化
20.
Copyright © Spika
Inc. 2016 all rights reserved. 20 2. チューニングの進め方 / ボトルネックの調査
21.
Copyright © Spika
Inc. 2016 all rights reserved. 21 2. チューニングの進め方 / ボトルネックの調査 チェックポイント • Scoreboardがアルファベット埋め尽くされている • 接続数に対して子プロセス数が足りていない mod_statusのチェックポイント
22.
Copyright © Spika
Inc. 2016 all rights reserved. 22 2. チューニングの進め方 / チューニングの実施 Apacheチューニングとは効率を高めること (+) 不足を補う • CPU割当を増やす • メモリ割り当てを増やす (ー) 無駄を減らす • 使っていないものを省く • 重要度の低いことはやめ る 効率を高める方法
23.
Copyright © Spika
Inc. 2016 all rights reserved. • 実施時の注意点 – 同時に複数箇所を変更しない • 効果の切り分けができないため – 変更情報は記録しておく • 後日、統計値と突き合わせて分析する際に必要 – ボトルネックの原因は複合的に発生する • あるボトルネック箇所をクリアすると、他の部分がボト ルネックとなる 23 2. チューニングの進め方 / チューニングの実施
24.
Copyright © Spika
Inc. 2016 all rights reserved. 24 2. チューニングの進め方 / チューニングの実施 ボトルネックA対策前 ボトルネックA ボトルネックB ボトルネックA対策後 ボトルネックBが 顕在化する 目標を達成するまで根気よくやり続ける
25.
Copyright © Spika
Inc. 2016 all rights reserved. 3. チューニング事例 25
26.
Copyright © Spika
Inc. 2016 all rights reserved. 26 3. チューニング事例 prefork MPMの概要 httpd親プロセス httpd 子プロセス httpd 子プロセス httpd 子プロセス httpd 子プロセス 親プロセスが子プロセスを管理 1子プロセス1接続を処理
27.
Copyright © Spika
Inc. 2016 all rights reserved. Timeout 説明 • リクエストを受け取ってから処理完了までの待機時 間 • デフォルトは300秒 チューニング方針 • 時間を短くする • 60秒以下がオススメ 27 3. チューニング事例 / 初期設定
28.
Copyright © Spika
Inc. 2016 all rights reserved. KeepAlive 説明 • 1回のTCP接続で複数のHTTPリクエストを処理する • デフォルトはOn チューニング方針 • On/Offはサイト特性による • OnにするときにもKeepAliveTimeoutや MaxKeepAliveRequestsを設定する • AWSのELB配下の場合はOnにする 28 3. チューニング事例 / 初期設定
29.
Copyright © Spika
Inc. 2016 all rights reserved. HostnameLookups 説明 • ログファイルに記録する際に接続元IPアドレスを逆 引きする • デフォルトはOff チューニング方針 • Onにしない • DNSの逆引きは時間がかかる • どうしてもやりたい場合はlogresolveなどで後で行う 29 3. チューニング事例 / 初期設定
30.
Copyright © Spika
Inc. 2016 all rights reserved. mod_deflate 説明 • HTTPで圧縮転送を行うモジュール • 適用範囲を指定して利用する チューニング方針 • テキストコンテンツに適用する • 画像ファイルには適用しない • 圧縮率はサーバのCPUリソースと相談して決める 30 3. チューニング事例 / 初期設定
31.
Copyright © Spika
Inc. 2016 all rights reserved. 31 3. チューニング事例 / 初期設定 # mod_deflateモジュールを有効にする LoadModule deflate_module modules/mod_deflate.so # 圧縮レベル(低圧縮1〜高圧縮9) DeflateCompressionLevel 5 # 適用コンテンツを指定 AddOutputFilterByType DEFLATE text/html text/plain text/xml mod_deflate有効化
32.
Copyright © Spika
Inc. 2016 all rights reserved. 不要モジュールの削除 説明 • Loadしないことで使用メモリが削減できる チューニング方針 • 利用していないモジュールを削除する • LoadModule行をコメントアウト • ただし、自信がないときは削除しない 32 3. チューニング事例 / 初期設定
33.
Copyright © Spika
Inc. 2016 all rights reserved. 33 3. チューニング事例 / 初期設定 削除前 削除後 bash-4.2# ps axu | grep -e RSS -e httpd USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 9 0.0 0.3 121924 6148 ? Ss Nov21 0:02 /usr/sbin/httpd -k start apache 181 0.0 0.2 121924 5188 ? S 02:14 0:00 /usr/sbin/httpd -k start apache 182 0.0 0.2 121924 5148 ? S 02:14 0:00 /usr/sbin/httpd -k start apache 183 0.0 0.2 121924 5376 ? S 02:14 0:00 /usr/sbin/httpd -k start apache 184 0.0 0.2 121924 5248 ? S 02:14 0:00 /usr/sbin/httpd -k start bash-4.2# ps axu | grep -e RSS -e httpd USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 9 0.0 0.3 176400 6856 ? Ss Nov21 0:02 /usr/sbin/httpd -k start apache 10 0.0 0.2 176536 6088 ? S Nov21 0:00 /usr/sbin/httpd -k start apache 11 0.0 0.2 176536 6088 ? S Nov21 0:00 /usr/sbin/httpd -k start apache 12 0.0 0.2 176536 6088 ? S Nov21 0:00 /usr/sbin/httpd -k start apache 13 0.0 0.2 176536 6088 ? S Nov21 0:00 /usr/sbin/httpd -k start 6.1MBから5.2MB程度まで削減
34.
Copyright © Spika
Inc. 2016 all rights reserved. MaxClients/ServerLimit 説明 • サーバプロセスの上限数を設定する • プロセス数≒最大同時接続数 チューニング方針 • topやpsコマンドなどで使用メモリ量を調査し、大ま かに決定する • CPU、メモリ使用量をみながら微調整する 34 3. チューニング事例 / 個別設定
35.
Copyright © Spika
Inc. 2016 all rights reserved. MaxClients数の算出方法 • psコマンドでhttpdの1プロセスあたりのRSS(物 理メモリ使用量)を計測する • 下記の数式を満たすようにMaxClients数を調 整する 35 3. チューニング事例 / 個別設定 サーバの物理メモリ量>httpd1プロセスあたり のメモリ使用量×MaxClient数+他のプロセスが 利用するメモリ使用量
36.
Copyright © Spika
Inc. 2016 all rights reserved. 36 3. チューニング事例 / 個別設定 bash-4.2# ps axu | grep -e RSS -e httpd USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 9 0.0 0.3 176400 6856 ? Ss Nov21 0:02 /usr/sbin/httpd -k start apache 10 0.0 0.2 176536 6088 ? S Nov21 0:00 /usr/sbin/httpd -k start apache 11 0.0 0.2 176536 6088 ? S Nov21 0:00 /usr/sbin/httpd -k start apache 12 0.0 0.2 176536 6088 ? S Nov21 0:00 /usr/sbin/httpd -k start apache 13 0.0 0.2 176536 6088 ? S Nov21 0:00 /usr/sbin/httpd -k start RSSの数値を確認 KB単位
37.
Copyright © Spika
Inc. 2016 all rights reserved. MinSpareServers/MaxSpareServers 説明 • 待機プロセス数を定義 • Min〜Maxの間となるようにプロセス数が維持される チューニング方針 • WEB専用サーバであれば MinSpareServers=MaxSpareServers=MaxClientで良 い 37 3. チューニング事例 / 個別設定
38.
Copyright © Spika
Inc. 2016 all rights reserved. MaxRequestsPerChild 説明 • 子プロセスが処理するリクエスト数 • この数値を超えると子プロセスが終了する • デフォルト:10000 • 0にすると無制限となる チューニング方針 • 子プロセスがメモリ肥大化しない場合は0 • 制限値を設定しておくと安心 38 3. チューニング事例 / 個別設定
39.
Copyright © Spika
Inc. 2016 all rights reserved. worker MPMに切り替える 説明 • 各子プロセスがマルチスレッドで処理するため消費 メモリが少なくなる チューニング方針 • サードパーティーモジュールがスレッドセーフであれ ば採用 39 3. チューニング事例 / 個別設定
40.
Copyright © Spika
Inc. 2016 all rights reserved. 40 3. チューニング事例 / 個別設定 worker MPMの概要 httpd親プロセス httpd 子プロセス httpd 子プロセス httpd 子プロセス httpd 子プロセス 1子プロセスが複数接続を処理
41.
Copyright © Spika
Inc. 2016 all rights reserved. Apacheチューニングは万能ではありません • スケールアップ • スケールアウト • アプリケーション側のチューニング などの手段を検討しましょう 41 最後に どうしても目標が満たせない場合
42.
Copyright © Spika
Inc. 2016 all rights reserved. 42 エンジニア募集中 エンジニア募集中! あらゆるジャンルで募集してます 詳細はWantedlyで https://www.wantedly.com/companies/spika/info
Download now