Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
勲 國府田
PPTX, PDF
8,410 views
中小規模サービスのApacheチューニング
中小規模のWEBサービスをApacheで運用している方がはじめてApacheチューニングする際にみていただくと良いと思います。
Internet
◦
Read more
7
Save
Share
Embed
Embed presentation
Download
Downloaded 39 times
1
/ 42
2
/ 42
3
/ 42
4
/ 42
5
/ 42
6
/ 42
7
/ 42
8
/ 42
9
/ 42
10
/ 42
11
/ 42
12
/ 42
13
/ 42
14
/ 42
Most read
15
/ 42
16
/ 42
17
/ 42
18
/ 42
19
/ 42
20
/ 42
21
/ 42
22
/ 42
23
/ 42
24
/ 42
25
/ 42
26
/ 42
27
/ 42
28
/ 42
Most read
29
/ 42
30
/ 42
31
/ 42
32
/ 42
33
/ 42
34
/ 42
Most read
35
/ 42
36
/ 42
37
/ 42
38
/ 42
39
/ 42
40
/ 42
41
/ 42
42
/ 42
More Related Content
PPTX
Prometheus入門から運用まで徹底解説
by
貴仁 大和屋
PDF
Amazon S3を中心とするデータ分析のベストプラクティス
by
Amazon Web Services Japan
PDF
AWS で Presto を徹底的に使いこなすワザ
by
Noritaka Sekiyama
PDF
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
by
Masahito Zembutsu
PDF
MySQL 5.7にやられないためにおぼえておいてほしいこと
by
yoku0825
PPTX
Keycloakの実際・翻訳プロジェクト紹介
by
Hiroyuki Wada
PDF
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
by
Amazon Web Services Japan
PDF
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
by
Hironobu Suzuki
Prometheus入門から運用まで徹底解説
by
貴仁 大和屋
Amazon S3を中心とするデータ分析のベストプラクティス
by
Amazon Web Services Japan
AWS で Presto を徹底的に使いこなすワザ
by
Noritaka Sekiyama
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
by
Masahito Zembutsu
MySQL 5.7にやられないためにおぼえておいてほしいこと
by
yoku0825
Keycloakの実際・翻訳プロジェクト紹介
by
Hiroyuki Wada
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
by
Amazon Web Services Japan
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
by
Hironobu Suzuki
What's hot
PDF
MQTTとAMQPと.NET
by
terurou
PPTX
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
by
NTT DATA Technology & Innovation
PDF
マイクロにしすぎた結果がこれだよ!
by
mosa siru
PDF
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
by
Atsushi Tanaka
PDF
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
by
Nov Matake
PDF
分散トレーシング技術について(Open tracingやjaeger)
by
NTT Communications Technology Development
PPTX
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
by
NTT DATA Technology & Innovation
PPTX
マイクロサービスにおける 結果整合性との戦い
by
ota42y
PDF
PostgreSQL: XID周回問題に潜む別の問題
by
NTT DATA OSS Professional Services
PPTX
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
by
NTT DATA Technology & Innovation
PDF
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
by
NTT DATA Technology & Innovation
PDF
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
by
Noritaka Sekiyama
PDF
OAuth 2.0のResource Serverの作り方
by
Hitachi, Ltd. OSS Solution Center.
PPTX
iostat await svctm の 見かた、考え方
by
歩 柴田
PDF
VPC Reachability Analyzer 使って人生が変わった話
by
Noritaka Sekiyama
PDF
君はyarn.lockをコミットしているか?
by
Teppei Sato
PDF
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
by
Amazon Web Services Japan
PDF
アーキテクチャから理解するPostgreSQLのレプリケーション
by
Masahiko Sawada
PDF
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
by
Amazon Web Services Japan
PPTX
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
by
NTT DATA Technology & Innovation
MQTTとAMQPと.NET
by
terurou
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
by
NTT DATA Technology & Innovation
マイクロにしすぎた結果がこれだよ!
by
mosa siru
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
by
Atsushi Tanaka
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
by
Nov Matake
分散トレーシング技術について(Open tracingやjaeger)
by
NTT Communications Technology Development
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
by
NTT DATA Technology & Innovation
マイクロサービスにおける 結果整合性との戦い
by
ota42y
PostgreSQL: XID周回問題に潜む別の問題
by
NTT DATA OSS Professional Services
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
by
NTT DATA Technology & Innovation
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
by
NTT DATA Technology & Innovation
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
by
Noritaka Sekiyama
OAuth 2.0のResource Serverの作り方
by
Hitachi, Ltd. OSS Solution Center.
iostat await svctm の 見かた、考え方
by
歩 柴田
VPC Reachability Analyzer 使って人生が変わった話
by
Noritaka Sekiyama
君はyarn.lockをコミットしているか?
by
Teppei Sato
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
by
Amazon Web Services Japan
アーキテクチャから理解するPostgreSQLのレプリケーション
by
Masahiko Sawada
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
by
Amazon Web Services Japan
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
by
NTT DATA Technology & Innovation
Similar to 中小規模サービスのApacheチューニング
PDF
サーバー設定のお話
by
Kazunori Inaba
KEY
Tuiningathonにいってみた
by
Suguru Shirai
PPTX
Apacheチューニング
by
ii012014
PDF
20140828 #ssmjp 社内チューニンガソンで優勝したはなし
by
Masahiro NAKAYAMA
PDF
Webサーバのチューニング
by
Yu Komiya
ODP
Abコマンドを使ったウェブアプリケーションのパフォーマンス計測
by
Hidenori Goto
PDF
アドテク×Scala×パフォーマンスチューニング
by
Yosuke Mizutani
PDF
DNSキャッシュサーバ チューニングの勘所
by
hdais
PDF
【Hpcstudy】みんな、ベンチマークどうやってるの?
by
Seiichiro Ishida
PPT
Linux/DB Tuning (DevSumi2010, Japanese)
by
Yoshinori Matsunobu
PPTX
これで失敗しない ASTERIA WARPサイジングのポイント
by
ASTERIA User Group
PPTX
Serverspec at hbstudy #45
by
Gosuke Miyashita
KEY
ゆるかわPhp
by
Ryota Mochizuki
PPT
Webサーバ勉強会02
by
oranie Narut
PDF
第1回 松本勉強会 2012 05 11 - 公開版
by
Ryosuke MATSUMOTO
サーバー設定のお話
by
Kazunori Inaba
Tuiningathonにいってみた
by
Suguru Shirai
Apacheチューニング
by
ii012014
20140828 #ssmjp 社内チューニンガソンで優勝したはなし
by
Masahiro NAKAYAMA
Webサーバのチューニング
by
Yu Komiya
Abコマンドを使ったウェブアプリケーションのパフォーマンス計測
by
Hidenori Goto
アドテク×Scala×パフォーマンスチューニング
by
Yosuke Mizutani
DNSキャッシュサーバ チューニングの勘所
by
hdais
【Hpcstudy】みんな、ベンチマークどうやってるの?
by
Seiichiro Ishida
Linux/DB Tuning (DevSumi2010, Japanese)
by
Yoshinori Matsunobu
これで失敗しない ASTERIA WARPサイジングのポイント
by
ASTERIA User Group
Serverspec at hbstudy #45
by
Gosuke Miyashita
ゆるかわPhp
by
Ryota Mochizuki
Webサーバ勉強会02
by
oranie Narut
第1回 松本勉強会 2012 05 11 - 公開版
by
Ryosuke MATSUMOTO
More from 勲 國府田
PPTX
ネイルブックのSNS集客術〜Pinterest・SNS活用事例〜
by
勲 國府田
PDF
逆説のネイルブックSEO 〜完全リニューアルマニュアル〜
by
勲 國府田
PDF
ユーザテストが教えてくれた女ゴコロ〜女性向けサービスの育て方〜
by
勲 國府田
PDF
ネイルブックでのWEB高速化の取り組み
by
勲 國府田
PDF
女性向けサービスでコンバージョン数を爆上げさせた話 〜ネイルブックが1年間でCV数を69倍にした方法〜
by
勲 國府田
PPTX
Tech valley #5 株式会社スピカご紹介
by
勲 國府田
PPTX
ネイルブックでのGoogle Play ASOについて
by
勲 國府田
PDF
SSDとTokyoTyrantやMySQLの性能検証
by
勲 國府田
ネイルブックのSNS集客術〜Pinterest・SNS活用事例〜
by
勲 國府田
逆説のネイルブックSEO 〜完全リニューアルマニュアル〜
by
勲 國府田
ユーザテストが教えてくれた女ゴコロ〜女性向けサービスの育て方〜
by
勲 國府田
ネイルブックでのWEB高速化の取り組み
by
勲 國府田
女性向けサービスでコンバージョン数を爆上げさせた話 〜ネイルブックが1年間でCV数を69倍にした方法〜
by
勲 國府田
Tech valley #5 株式会社スピカご紹介
by
勲 國府田
ネイルブックでのGoogle Play ASOについて
by
勲 國府田
SSDとTokyoTyrantやMySQLの性能検証
by
勲 國府田
中小規模サービスの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