altplusaltplusB3Sスタッフの技術紹介サイトです。2016年7月20日TwitterFacebookGoogle+LinkedInPocket年始に膝の手術をしてやっと復活しました。今回は「10万PV/日を、さくらVPSサーバーとApache2で耐えた」話:前編です。サーバーのスペックとか、ApacheのMPMの話を今回はする予定です。4月19日は恐ろしい日だったうちの会社のサイトが、LINEニュースやら、色んなメディアに取り上げられて(良い意味で)Webサイトへのアクセスが物凄いことになってました。後で統計を見たところ、全体で10万PVくらいを1日で稼いでいたようです。たいへんだ、Apacheが息をしていない...(゚A゚;)以前にもメディアに取り上げられて、サーバーが重くなる(落ちる)ことがありました。その時に設定をそれなりに見なおして、落ちないようにしてはいたのですがその時よりサーバーに乗っているサイトも増え、色々と当時とは環境が変わりました。その時良かったApacheの設定が、今回のユーザ大量流入では耐えられなかったのです。(ちなみに以前はトータルで4万PV/日くらいを耐えれるようにしたと思います)こりゃいかんということで、サーバーのスペックと、空きリソースなんかを基に再度Apacheの設定に使えそうな数字を計算しなおすことにしました。半数がCMS系のサイト、残りはペラだったり、PHPが入り組んでいたり。Module)という仕組みがありまして、主にリクエストを処理する部分のことを指します。代表的なMPMは、Prefork、Worker、event(Ver2.4から実装)といったものがあります。MPM・スレッド対応型、リクエスト処理は、スレッドが対応する・負荷に応じて、子プロセス数を増減させる・1子プロセスあたりのスレッド数は固定になっている・メモリ消費量が少なく、パフォーマンスが高い・スレッドが不安定になると連鎖で不安定になる(メモリを共有しているため)プログラムを並列に実行した時...・子プロセスを複数立ち上げて並列に動かす=Prefork・スレッドを複数立ち上げて並列に動かす=Worker前者よりも後者のほうがメモリ消費量が少なくなるのと、スレッド単位での処理なので、クライアントへのリアクションが良いのです。(例えばPreforkなどでは固まったり見えているところが、Workerだと一応動いているように見える)上記のように、それぞれのMPMに強み/弱みがありまして、PHPを扱うならPreforkの方が早いという説なども昔から根強いです。ThinkITの参考記事(https://thinkit.co.jp/article/119/2?page=0%2C2)内の>Apacheのpreforkとworkerを比較しても、workerがpreforkに比べ、接続時間や処理時間が短いことが確認できました。>マルチプロセスで処理するpreforkに比べ、マルチスレッドで処理するworkerの方が身軽という結果となっています。MPMを採用することにした経緯があります。はちよろしければシェアお願いしますTwitterFacebookGoogle+LinkedInPocketMySQLのバックアップをデータベース単位に一括で行うNext【Mysql】COUNTを条件指定でPrev関連記事10万PV/日を、さくらVPSとApache2で耐えた話(後編)はちです。前回の記事から随分と間が空いてしまいました...。...MySQLのバックアップをデータベース単位に一括で行う今回はデータベース単位です。...MySQLのテーブル単位でのバックアップを一括で行うデータのバックアップは重要です。...特定のディレクトリ以下にあるログファイル(*.log)を日別に一括でバックアップ(圧縮保存)するログファイルが増えると管理が大変です。...サーバーの内部だけで公開しているサービスへの、ポートを用いた転送と、サブドメインを用いた転送方法こんにちは。最近PokemonGOばっかりやってる、はちです。...ディスカッションコメント一覧まだ、コメントがありませんコメントを残すコメントをキャンセルこの記事のトラックバックURL新着記事[MySQL]ウインドウ関数お久しぶりでございます。...自作HPが突然見れなくなってしまった!!こんにちは。...Googleドキュメントの「写真のファイルをテキストに変換する」をやってみた。お久し振りです!ぽんてです。...Ajaxのデバッグを簡単に実行したい!!ブログの更新を頑張っています。~プッシュ通知編~はちです。