数万PVに耐えるApacheチューニング | ITオフィスサポートとシステム開発|システムガーディアン AWSクラウド導入|東京都中央区八丁堀

ITサポート出張、ITシステム開発・保守をワンストップで|AWSクラウド|東京都中央区八丁堀

ITオフィスサポートとシステム開発|システムガーディアン AWSクラウド導入|東京都中央区八丁堀

電話でのお問い合わせ

数万PVに耐えるApacheチューニング

      2016/07/22

apache チューニング PVに耐える

不意の大量アクセス

その時、そのWEBサーバーを落とさないために。

1日100万PVってどんなWEBサーバー?

1日は86400秒だから、1日100万PVを稼ぎたいなら、秒間12アクセスを捌ければOKということになる。こう考えると、ハードルは低く感じるよな。ただし、アクセスには大きな波がある。だから余裕をもって同時200接続は軽く捌きたいところだ。それぐらいのピンチを切り抜けられるエンジンを積んでおけばひとまずは安心できる。

Googleアナリティクスのアクティブユーザ数

実は全く本当の意味での同時接続じゃない。あれは単位時間当たりのアクセスのべ数だ。

Apacheのチューニング

基本となるApacheのチューニングを行う。

KeepAliveはOnにしよう(推奨)

1プロセスでTimeoutで指定した秒数までまとめて処理してくれるが、KeepAliveTimeoutは2秒程度に短くするのが安全。回線が遅い人が多くなってくるとフリーズする危険性がある。そうなったらどうしようもない。

 

 

 

出たっ!必殺 mod_expireの導入

ブラウザに静的ファイルを指定した期間キャッシュさせる。380行目付近に追加するぞ!

 

 

 

 

これで終わりだと思ったか? mod_deflate!

データを圧縮してユーザに送信するのだ。

 

いよいよだな、preforkチューニング!

WEB用途に特化させる為に始めから多めにプロセスを待機させておくといい。

 

 

※restartでは反映されない可能性がある。

 

# service httpd stop

# service httpd start

 

 

PHPの設定

# vi /etc/php.ini

 

知ってますか?

デフォルト設定では1プロセスあたり最大128MBのメモリを消費することを・・・

 

 

PHPのメモリ最大使用量 = MaxClients × memory_limit

 

つまりデフォルトだと256×128M = 32768MB(32.7GB)使用できる設定で、物理メモリだけでなく仮想メモリまでと、あるだけリソースを食い尽くしてしまう危険性がある。

 

 

memory_limit = 128M

↓変更

;memory_limit = 128M←無効化
memory_limit = 16M←追加

 

 

チューニング後

MaxClients100 × memory_limit16M = 1600M(1.6GB)

 

現実的な数字になったな。memory_limitは30MBを基準に考えるといい。

メモリが16Gあるならmomory_limitは32Mと仮定して、MaxClients200だとする。

 

MaxClients200 × memory_limit32M = 6400M(6.4G)

 

こうなると、まだまだメモリに余裕があるからMaxClientは400ぐらい増やしてもいいな。なんてにやにや考えられる!また、絶対的に必要なメモリ量は動作させるアプリによる。

ここは注意したい

メモリを絞りすぎると処理できずにエラーに繋がる。趣味程度のブログなら最悪落ちてもいいが、収益性の高いサービスサイト、業務を支えるWEBシステムとなればダウンすることは許されない。緩めすぎず、絞りすぎといったチューニングの見せ所だな。結局のところ、メモリの配分について考えるのが大事で、memory_limitはデフォルトでいじらなくても構わない。

 

【APC ( Alternative PHP Cache )インストール】

中間コードをメモリにキャッシュしてくれる。

 

 

 

※restartでは反映されない可能性がある。

 

 

 

最後にエラーログがないか確認しよう。
# cat /var/log/httpd/error_log

 

PHP5.5向け Zend Opcache, APCuインストール

中間コードをキャッシュしてくれる。

関連

エラー 落ちてしまったら・・・

 

WEBサーバー ダウンさせない

すまない。

 

だが、安心してほしい。

 

ここはITシステムを扱っている会社のWEBサイトなんだ。君の役に立ちたいと考えている。そうだな、この機会に我々システムガーディアンの高速WEBサーバー+静的キャッシュ+負荷分散+静的ファイルストレージシステム構築サービスを検討してみてくれないか。実績として1000万PVオーバーのWEBサーバを多数運用している。

 

もし動かしたいものがWordpressのようなCMSなら、レスポンスだって大切さ。長くても5秒以内に表示出来なければ、普通は覗いてもくれないもんだぜ。つまり1秒間にどれだけリクエストを処理できるかってことだな。WEBサーバのみをチューニングをするというのは限界があるのさ。気軽に相談してくれ。

 

【宣伝】Wordpressに最適化した高速WEBサーバーの構築

NAC3 LAMPチューニング 高速 WordPress アダルトサイト AWS 大量アクセス サーバー Nginx キャッシュ

 1000万PVオーバーのトラフィック対応

  • トラフィックと予算に合わせた適切なサイジングで設計
  • クラウドにも対応だから急な増設も安心
  • 負荷分散 + トリプル高速キャッシュの軽量設計
  • メディアサイト案件多し
  • アダルトサイト対応可能
  • コンサルティング/運用保守サポート
  • DBの冗長構成、自律起動システム対応可能

どれだけ捌けるの?

MySQL 冗長化 Nginx 高速化 プロキシ 大量アクセス 処理 サーバー落ちた オートスケール

いくらでも捌けます。

可能な限りサーバにチューニングを行い、アクセスアップに応じて並列的にサーバーを増やして負荷分散 + 冗長構成を行うのでいくらでも。

 

WordPress アダルト 高速化 大量アクセス キャッシュ 負荷分散 万PV

○○ぐらいのアクセスがあるけど大丈夫?

ご相談下さい。アクセス増加に応じた将来的な提案も可能です。Yahoo!砲だってOK!

 

yahoo砲 apache チューニング

1番ご相談の多い月間500万PV級のチューニング Apacheの使用例

 

動作や表示の遅延もなく軽快に処理しています。

また、並列処理が得意なNginxの採用で更に軽量高速な処理が可能です。

MySQLチューニングの例 InnoDB

MySQL チューニング メモリ スペック サポート innodb

DBサーバの例

 

チューニング後ではMySQLの最大使用可能メモリ容量が大幅アップしています。デフォルト状態での使用ではせっかくのハードウェア性能を発揮できません。チューニングにより眠っているパフォーマンスを覚醒。上位性能のサーバーに変更する前にチューニングで劇的に改善出来る場合が多い。

 

PR: 負荷やページが表示されない等困ってませんか。

WordPress アダルト 高速化 大量アクセス キャッシュ 負荷分散 万PV

WordPress以外のWEBサービスにも対応しております。

お気軽にご相談下さい。

 

関連

お問い合わせフォーム

なんだか大変そうだなあと感じたら是非お任せ下さい。よくある構成からピンまでキリまであります。お気軽にお問い合わせ下さい。

 

御社名

例 ) システムガーディアン株式会社

部署名

例) システム部

お名前

例) 山田 太郎

メール

例) aaaa@xxxx.co.jp

電話番号

例) 03-6758-9166

件名

例) システム導入費用について

本文
確認 内容を確認してチェック 

 - Linux/UNIX, スタッフ別, テクニカル,

  関連記事

ssl バーチャルドメイン apache
バーチャルホストでのSSL設定 Apache+mod_ssl

目次1 安全なWEBサーバーを目指して2 SSL設定の手順3 【.keyファイル 秘密鍵生成】4 【csr発行 認証機関への申請書】5 【.crtファイル 自己 …

削除コマンド
[どうなる?] # sudo rm -rf /* 絶対やっちゃだめ!

目次1 rfコマンド2 そんな疑問を実行してしまった動画をご紹介します。 rfコマンド Linuxでお馴染みの削除に使うコマンドに [bash] # rm [/ …

linux Linux
CronでのrequireがあるPHPファイル実行エラー

  cronでPHP等のちょっとしたスクリプトファイルを定期的に実行したい場合に、require等の箇所で相対パスが書かれている場合失敗します。 &n …

LISA78_MBAsawaru20141018102912-thumb-1000xauto-17983
僕が気になるWEBデザイン2015年9月中旬版

K 代表の加藤と元同僚。 WEBデザインとDTPを行うデザイン部、常に修行中。 趣味はダイエットでエナジードリンク中毒。海外に住みたい。 必殺技:FPSでのAI …

ELB SSL HTTPS 俺俺証明書 リスナーの作成 AWS
AWS ELBに俺俺証明書を設定してTLS(HTTPS)通信を行う

今回はELBにサーバ証明書を設定する方法のご紹介。 サーバ側でのTLS通信の受け入れ設定が出来ていれば、AWS側の作業で詰まることなくスムーズに設定が出来るはず …

wordpress popular posts プラグイン 人気記事 よく読まれている記事 人気商品ページ 表示
よく読まれている人気記事を表示 wordpress popular postsプラグイン

目次1 wordpress popular postsプラグイン2 プラグインから追加しよう3 設定参考に4 反映されたかチェック wordpress popu …

ゆるいハッキング大会
第10回 ゆるいハッキング大会 in TOKYO 無事終了

昨日土曜日、都内中央区で開催したゆるいハッキング大会inTOKYOは無事終了。     社内の勉強・趣味として数名で始めたこの会ですが、今回 …

ハニーポット 不正アクセス
HONEYDRIVE3 不正アクセスを観察するOSのご紹介(ハニーポット)

目次1 ダウンロード方法2 悪意を持った攻撃者への囮用ディストリビューション3 設置場所について4 ただし運用が難点5 ハニーポットが使われている例 ダウンロー …

IE表示確認
IE標準 搭載の開発者ツールで表示仕方をチェック

WEBサイトを作ってると誰もが言う悩ましい問題。 それはブラウザ毎の表示の違い。 特にIE こと、インターネットエクスプローラーはCSS3に対応まだまだだったり …

VPN トンネル環境構築
VPNトンネル環境の構築 windows server 2008

移転作業中の新設の支社にISPの正式なネット環境&アプライアンスのVPNが整うまでの間にXiとwindows server2008R2を使って本社や各拠点と繋ぐ …

トップページ