Submit Search
中小規模サービスのApacheチューニング
Download as PPTX, PDF
7 likes
8,381 views
勲 國府田
中小規模のWEBサービスをApacheで運用している方がはじめてApacheチューニングする際にみていただくと良いと思います。
Internet
Read more
1 of 42
Download now
Downloaded 39 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Most read
18
19
Most read
20
21
22
23
24
25
26
Most read
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
More Related Content
PDF
これからSpringを使う開発者が知っておくべきこと
土岐 孝平
PDF
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
PDF
Apache Spark の紹介(前半:Sparkのキホン)
NTT DATA OSS Professional Services
PDF
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
Preferred Networks
PDF
忙しい人の5分で分かるDocker 2017年春Ver
Masahito Zembutsu
PPTX
コンテナネットワーキング(CNI)最前線
Motonori Shindo
PDF
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
PDF
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
これからSpringを使う開発者が知っておくべきこと
土岐 孝平
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
Apache Spark の紹介(前半:Sparkのキホン)
NTT DATA OSS Professional Services
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
Preferred Networks
忙しい人の5分で分かるDocker 2017年春Ver
Masahito Zembutsu
コンテナネットワーキング(CNI)最前線
Motonori Shindo
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
What's hot
(20)
PPTX
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
PPTX
Azure Api Management 俺的マニュアル 2020年3月版
貴志 上坂
PDF
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
NTT DATA OSS Professional Services
PDF
株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...
Google Cloud Platform - Japan
PPTX
Azure API Management 俺的マニュアル
貴志 上坂
PDF
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
NTT DATA Technology & Innovation
PDF
イミュータブルデータモデル(世代編)
Yoshitaka Kawashima
PDF
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
Recruit Lifestyle Co., Ltd.
PDF
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
PDF
そんなトランザクションマネージャで大丈夫か?
takezoe
PDF
Springを何となく使ってる人が抑えるべきポイント
土岐 孝平
PPTX
世界一わかりやすいClean Architecture
Atsushi Nakamura
PDF
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
PDF
イミュータブルデータモデルの極意
Yoshitaka Kawashima
PPTX
Redisの特徴と活用方法について
Yuji Otani
PPTX
本当は恐ろしい分散システムの話
Kumazaki Hiroki
PPTX
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
PDF
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
PDF
JSUG 20141127 「Spring Bootを用いたドメイン駆動設計」
Junichiro Kazama
PDF
DBスキーマもバージョン管理したい!
kwatch
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
Azure Api Management 俺的マニュアル 2020年3月版
貴志 上坂
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
NTT DATA OSS Professional Services
株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...
Google Cloud Platform - Japan
Azure API Management 俺的マニュアル
貴志 上坂
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
NTT DATA Technology & Innovation
イミュータブルデータモデル(世代編)
Yoshitaka Kawashima
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
Recruit Lifestyle Co., Ltd.
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
そんなトランザクションマネージャで大丈夫か?
takezoe
Springを何となく使ってる人が抑えるべきポイント
土岐 孝平
世界一わかりやすいClean Architecture
Atsushi Nakamura
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
イミュータブルデータモデルの極意
Yoshitaka Kawashima
Redisの特徴と活用方法について
Yuji Otani
本当は恐ろしい分散システムの話
Kumazaki Hiroki
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
JSUG 20141127 「Spring Bootを用いたドメイン駆動設計」
Junichiro Kazama
DBスキーマもバージョン管理したい!
kwatch
Ad
Similar to 中小規模サービスのApacheチューニング
(20)
PDF
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
Akihiro Kuwano
PDF
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコシステムズ合同会社
PDF
Sparkパフォーマンス検証
BrainPad Inc.
PDF
20171206 d3 health_tech発表資料
dcubeio
PDF
SAS Visual Analytics 6.3 を使った DELL VRTX の評価
Dell TechCenter Japan
PDF
自宅サーバーを立てる話
naba0123
PDF
2015 0228 OpenStack swift; GMO Internet Services
Naoto Gohko
PDF
OOW Tokyo 2012 Unconference つまらない STATSPACK をさらにややこしく解説してみよう
Tadashi Yamashita
PPT
インフラエンジニアのためのcassandra入門
Akihiro Kuwano
PPTX
Packetbeatの基礎から、IoTデバイス異常検知への応用まで
Satoyuki Tsukano
PDF
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
Yasutaka Hamada
PDF
ネットワーク通信入門
Yuki Suga
PPTX
システムパフォーマンス勉強会#5
shingo suzuki
PDF
Soft layer network概要_jslug向け
Hideaki Tokida
PDF
Riakを利用したパーソナライズ事例
Yahoo!デベロッパーネットワーク
PDF
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
Kunihiro TANAKA
PDF
人気ブロックチェーン基盤「Hyperledger Fabric」最新版を動かしてみた!
LFDT Tokyo Meetup
PPTX
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
VirtualTech Japan Inc.
PDF
20140828 #ssmjp 社内チューニンガソンで優勝したはなし
Masahiro NAKAYAMA
PDF
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Takashi Kanai
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
Akihiro Kuwano
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコシステムズ合同会社
Sparkパフォーマンス検証
BrainPad Inc.
20171206 d3 health_tech発表資料
dcubeio
SAS Visual Analytics 6.3 を使った DELL VRTX の評価
Dell TechCenter Japan
自宅サーバーを立てる話
naba0123
2015 0228 OpenStack swift; GMO Internet Services
Naoto Gohko
OOW Tokyo 2012 Unconference つまらない STATSPACK をさらにややこしく解説してみよう
Tadashi Yamashita
インフラエンジニアのためのcassandra入門
Akihiro Kuwano
Packetbeatの基礎から、IoTデバイス異常検知への応用まで
Satoyuki Tsukano
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
Yasutaka Hamada
ネットワーク通信入門
Yuki Suga
システムパフォーマンス勉強会#5
shingo suzuki
Soft layer network概要_jslug向け
Hideaki Tokida
Riakを利用したパーソナライズ事例
Yahoo!デベロッパーネットワーク
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
Kunihiro TANAKA
人気ブロックチェーン基盤「Hyperledger Fabric」最新版を動かしてみた!
LFDT Tokyo Meetup
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
VirtualTech Japan Inc.
20140828 #ssmjp 社内チューニンガソンで優勝したはなし
Masahiro NAKAYAMA
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Takashi Kanai
Ad
More from 勲 國府田
(8)
PPTX
ネイルブックのSNS集客術〜Pinterest・SNS活用事例〜
勲 國府田
PDF
逆説のネイルブックSEO 〜完全リニューアルマニュアル〜
勲 國府田
PDF
ユーザテストが教えてくれた女ゴコロ〜女性向けサービスの育て方〜
勲 國府田
PDF
ネイルブックでのWEB高速化の取り組み
勲 國府田
PDF
女性向けサービスでコンバージョン数を爆上げさせた話 〜ネイルブックが1年間でCV数を69倍にした方法〜
勲 國府田
PPTX
Tech valley #5 株式会社スピカご紹介
勲 國府田
PPTX
ネイルブックでのGoogle Play ASOについて
勲 國府田
PDF
SSDとTokyoTyrantやMySQLの性能検証
勲 國府田
ネイルブックのSNS集客術〜Pinterest・SNS活用事例〜
勲 國府田
逆説のネイルブックSEO 〜完全リニューアルマニュアル〜
勲 國府田
ユーザテストが教えてくれた女ゴコロ〜女性向けサービスの育て方〜
勲 國府田
ネイルブックでのWEB高速化の取り組み
勲 國府田
女性向けサービスでコンバージョン数を爆上げさせた話 〜ネイルブックが1年間でCV数を69倍にした方法〜
勲 國府田
Tech valley #5 株式会社スピカご紹介
勲 國府田
ネイルブックでのGoogle Play ASOについて
勲 國府田
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