- ベストアンサー
apacheのサイト数
現在、専用サーバ(RedHat7.2) に、apache 1.3.27でパーチャルホストを11サイト立てて運用しています。 アクセス頻度が低いサイトなので、メモリも少なく安定しているのですが、ホスト数が増加して20サイトとか30サイトとかに増えると不安定になるのではないかと心配しています。 実際、多数のサイトを運用する場合、どの程度までサイト数を増やせるものでしょうか。搭載メモリ容量によってかわるものでしょうか。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
回答者No1さんがすでに回答されておりますが 基本的に安定したWebサイトをお考えなら 1台のPCサーバーのスペックをあげるのは当然として クラスター化するのは必須です。 ちなみに当然のハードウエア仕様として ・ディスクは必ず二重化以上の装備(俗に言うRAID) ・メモリーはレジスタードECC(最低限ECC有) メモリーに関しては、ECC機能が無いとたとえ UNIXでも1ヶ月以降の連続稼動は保証できないのです ソフト的なセッティングに関しては それぞれのっかってるOSにより多少チューニングが 違いますが、本家ApacheのWebサイトに 記載されておりますので、参考にされてみるのもよいと思われます。
その他の回答 (4)
- kusukusu
- ベストアンサー率38% (141/363)
ある意味質問がアバウトといってしまえばそれまでですが、皆さんがお応えのように大切なのは、同時セッション数です。 バーチャルホスト数はある意味無視してもかまわない問題だと思います。 厳密に言えばNo2さん言われることが理想ですが、kyuraさんがどのようなポリシーでこのWebサーバーを運営されているのかが分かりません。 ゆえにアドバイスとしてはNo1さんのTOPコマンドで監視…と言うのでいいのではないですか?
- Aruku-20030515
- ベストアンサー率23% (362/1544)
勘違いされるとあれなので 書き足しときます。 プロセス自体はOSが管理しきれる範囲で あればいくらでも起動します。 一般的に 一回のHTTPアクセスで クライアントとサーバーでやり取りされるセッションは 10から25を同時に消費されます。 つまり画像などの多いサイトほどセッションが多く消費されサーバーはその間一時的に忙しくなります。 なので サイトを構築する場合このセッション数を 考えないと結構 動作がもたつきやすくなります。
- xjd
- ベストアンサー率63% (1021/1612)
おもしろそうなので、実際にヴァーチャルホストを0~1000個、 httpd.confに定義してApacheのプロセスサイズを確認してみました。 PSコマンドのプロセスサイズ「VSZ」「RSS」を参考にしてください。 Apache2.0.40.rpm標準 / RedHat9 です。 (Apacheをコンパイルするときに、マルチプロセス・マルチスレッドなど モデルを選択すればプロセスのサイズは変わります。) ●ヴァーチャルホストなし # ps axl F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND 5 0 3138 1 15 0 19188 8136 schedu S ? 0:00 /usr/sbin/httpd 5 48 3141 3138 25 0 19212 8168 schedu S ? 0:00 /usr/sbin/httpd 5 48 3142 3138 25 0 19212 8168 semtim S ? 0:00 /usr/sbin/httpd 5 48 3143 3138 25 0 19212 8168 semtim S ? 0:00 /usr/sbin/httpd ●ヴァーチャルホスト10個 # ps axl F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND 5 0 3169 1 15 0 19436 8484 schedu S ? 0:00 /usr/sbin/httpd 5 48 3172 3169 25 0 19460 8516 schedu S ? 0:00 /usr/sbin/httpd 5 48 3173 3169 25 0 19460 8516 semtim S ? 0:00 /usr/sbin/httpd 5 48 3174 3169 25 0 19460 8516 semtim S ? 0:00 /usr/sbin/httpd ●ヴァーチャルホスト100個 # ps axl F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND 5 0 3214 1 16 0 21496 10548 schedu S ? 0:01 /usr/sbin/httpd 5 48 3217 3214 25 0 21520 10576 schedu S ? 0:00 /usr/sbin/httpd 5 48 3218 3214 25 0 21520 10576 semtim S ? 0:00 /usr/sbin/httpd 5 48 3219 3214 25 0 21520 10576 semtim S ? 0:00 /usr/sbin/httpd ●ヴァーチャルホスト500個 # ps axl F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND 5 0 3243 1 16 0 30680 19736 schedu S ? 0:03 /usr/sbin/httpd 5 48 3247 3243 25 0 30704 19764 schedu S ? 0:00 /usr/sbin/httpd 5 48 3248 3243 25 0 30704 19764 semtim S ? 0:00 /usr/sbin/httpd 5 48 3249 3243 25 0 30704 19764 semtim S ? 0:00 /usr/sbin/httpd ●ヴァーチャルホスト1000個 # ps axl F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND 5 0 3273 1 18 0 42164 31212 schedu S ? 0:07 /usr/sbin/httpd 5 48 3276 3273 25 0 42188 31240 schedu S ? 0:00 /usr/sbin/httpd 5 48 3277 3273 25 0 42188 31240 semtim S ? 0:00 /usr/sbin/httpd 5 48 3278 3273 25 0 42188 31240 semtim S ? 0:00 /usr/sbin/httpd
お礼
回答ありがとうございます。 実際に1000個もののバーチャルホストを立てられるものなのですね…apache 2.X系とはいえ、1000個も立ててプロセスサイズがこのくらいですむのは驚きました。実際に運用する場合は、アクセス頻度にも影響されると思いますが、ほとんどアクセスがないサイトなら100個以上立てても多分問題ない(?)と考えていいかもしれませんね。別の意味で参考になりました。
- mld_sakura
- ベストアンサー率20% (264/1282)
「メモリも少なく安定しているのですが」 メモリが少ないのに安定している?? よく分かりません。 「メモリも多く安定している」の間違いですか? ちなみに、許容量については色んな要素があります。 ・最大セッション数(同時含む) ・処理能力 ・メモリ UNIX系の場合、頻繁にSWAPされるよならばメモリを増やした方がいいでしょう。 あるいはその時点でクラスタリングなどした方がいいでしょうね。 運用中に「top」コマンドで状況を見てください。
お礼
早速の回答ありがとうございます。 メモリは64MBしかないので、本当は少ないと思うのですがアクセス自体が少ないので不安定になるほどではないのだと思います。 topコマンドでも、cpuの使用率が10%以下をうろうろしているので、それほど過負荷はかかっていないようです。ただ、こういう状態でもサイトの数を増やしていくと、それはやっぱり数の上限みたいなものがあるのではないかと思って質問させていただきました。
お礼
早速の回答ありがとうございます。 No.1でも述べましたが、アクセス数が少ないため、現実的な問題に直面していない状態です。(この状態で1年間ほどリブートなしで連続稼働しています) しかし、安定しているからまだ大丈夫だろうと、サイトの数を増やしていいのかどうかがわかりませんでした。 チューニングに関しては本家の方を調べてみようと思います。アドバイスありがとうございました。