X



■新春特別企画「雪だるま作戦」liveサーバの飛躍なるか!? Part1

■ このスレッドは過去ログ倉庫に格納されています
1FOX ★
垢版 |
05/01/07 03:19:00ID:???
■ 新春特別企画「雪だるま作戦」liveサーバの飛躍なるか!?

巨大Live専用サーバの構築

live系のサーバは台数投入したところで、ほとんど遊んでいる
サーバ + 一台の負荷が高くてアクセスできないサーバという
悲惨な状況になっちゃうので、複数のサーバを巨大な一台と見立てて
なんとかならんものなのかを模索するー。

【Step1】四台のbananaサーバで 現 live8/live16/live18 を全部収容する。
170root▲ ★
垢版 |
05/03/09 04:05:50ID:???0
>>168
できれば、そうしたいと思っていました。
cのフロントとおなじ乗りで。
171FOX ★
垢版 |
05/03/09 04:08:00ID:???0
んで live15 で実験しませんか?
なぜなら あいている banana があるわけで、

front1 , front2
↓↑
live15

がすぐ組めるような、
これで live15 系として banana 一台の何倍のキャパになるかが知りたかったり、、
172root▲ ★
垢版 |
05/03/09 04:09:43ID:???0
最初は、squidの非同期I/Oならかなりはやいはずだから、I/Oさせてもいいかなぁとか
思っていたんですが、今日の結果を見て(まだdiskd試してないからあれだけど)、
やっぱりフロントエンドでI/Oさせるのはかなりつらいのかなと、改めて思いました。

まだ独立で動かしてないから、言い切れない部分がありますけど。
173root▲ ★
垢版 |
05/03/09 04:11:15ID:???0
>>171
やりますか。

ex7でのデータとりは、このままやるとして、
今liveb1を名乗っているやつを front1 に改造すると。
174FOX ★
垢版 |
05/03/09 04:14:00ID:???0
第一弾としては

1) front1 をつくる
2) back はいまのまま (bbsx.soは作るけど)
3) front2 を追加

これで天井測定

こんな感じかしら?
05/03/09 04:18:31ID:jjEUwiu90
私は基本的に>>156案に同意ですが
バックエンドは、基本的にCPUはスカスカになり
(ネットワーク処理もCPUはIDLEでしょうから)
read.cgi処理も出来るだろうと考えています。
.datも含めて、オンメモリのキャッシュを有効に活用すれば
sendfileには劣るかもしれませんが、ネットワーク負荷も
静的コンテンツ転送以下に抑えられるでしょうし。
同居すれば、「.datをどうやって取ってくるか」「.dat転送のコスト」
等は無視できるようになりますから。

ただ、(特に開発中は)CGIDSOは非常に有効ですが
これ自体は、(fork/execはしないものの)毎回ロードとリロケーションを行っていると思います。
この点も考慮すると、スカスカって程ではないかもしれません。

それと、index.htmlの作成もbackend側で出来れば、
(連投規制等考えなければいけない点もあるものの)
フロント(.dat書き込み以外のbbs.cgi処理全般に専念)は
ほぼ完全にラウンドロビンで台数増減が自由になると思います。


とはいえ、実験した数字を見てみるのが一番ですね。
backendのCPUに余力がありそうならread.cgiを後ろに回すことも考える、という事で。
176root▲ ★
垢版 |
05/03/09 04:21:18ID:???0
それでいきますか。

これで、read.cgi、dat直読み、bbs.cgiをfront1で担当できるようにいろいろ整えるということですね。

書き込みはfront1のbbs.cgi => live15のbbsx.so で、
読むほう(read.cgiとdat直読み)をどうするか、、、が、質問の趣旨であると。
177root▲ ★
垢版 |
05/03/09 04:22:53ID:???0
>>175
どもです。
> 毎回ロードとリロケーションを行っていると思います。

タイムスタンプぐらいは、見てるんじゃなかったけか。
178FOX ★
垢版 |
05/03/09 04:24:42ID:???0
そですね、

私も どれとどれを fontにして
どれを back にするかという点では
本当に迷います

ここは実験しかないでしょうなぁ
179root▲ ★
垢版 |
05/03/09 04:30:06ID:???0
>>178
さて、今liveb1って名前ですが、、、。
そのまま、使いますかね。
180FOX ★
垢版 |
05/03/09 04:35:00ID:???0
いいんじゃないですか、
作る cgi 等も、ぐちゃぐちゃぺたぺたで最初は作りますし、
本番はlive16,live8のときですから、
181FOX ★
垢版 |
05/03/09 04:36:57ID:???0
おっと 二台ありませんでしたっけ?
使っていないbanana

その2台を両方とも front にしたいから
livebq , liveb2 としておいて
実際にユーサがアクセスするラウンドロビンのやつは別名がいいかな?
182root▲ ★
垢版 |
05/03/09 04:41:01ID:???0
未使用は、1台のはず。

もう1台、私が他サーバのメンテナンス用として使っているのがあります。
バージョンアップ作業の際の作業用マシンとか、ソースツリー置いてあったり、
CVSupやftp.freebsd.orgの部分ミラーをしてしたりしています。
くずして転用することはできますが、あまりくずしたくないかも。
05/03/09 04:42:07ID:Jqgj2F0Y0
eq.2ch.netでつかっちゃったからね。
184FOX ★
垢版 |
05/03/09 04:42:24ID:???0
んじゃ pie工事後にbananaを一台投入するということで、
185FOX ★
垢版 |
05/03/09 04:43:36ID:???0
あっ そうか・・・ >>184

あのサーバは暇そうだなぁ
もっとアイデア出して忙しくさせてくださいー
186FOX ★
垢版 |
05/03/09 04:43:57ID:???0
ぐっ >>183 だった
05/03/09 08:34:19ID:wqlHe1Zm0
read.cgi をフロントエンド側で走らせる場合,squid で dat をキャッシュさせるとなると,
dat を直接 open() はできないでしょうから,squid に対し HTTP リクエストを発して
取ってくるということになるんですかね.>>175 さんのおっしゃるようにバックエンドで
read.cgi を走らせてフロント側でキャッシュというのとどちらがいいのか......
まぁ実験しないとわかりませんね.

>>177
>> 毎回ロードとリロケーションを行っていると思います。
>
>タイムスタンプぐらいは、見てるんじゃなかったけか。

これは利用形態や状況に依存しますね.prefork MPM の場合,
あるいはマルチスレッド MPM でも read.cgi 呼び出しが間欠的であれば
ロード・リロケーションが毎回発生すると思います.一方,
マルチスレッド MPM で read.cgi が常時呼ばれている状況なら
毎回発生とはならず,ほぼ常駐したままになると思います.
05/03/10 20:55:04ID:geHPxiLU0
http://www.mail-archive.com/dev@httpd.apache.org/msg24903.html
    * FreeBSD, threads, and worker MPM.  All seems to work fine
      if you only have one worker process with many threads.  Add
      a second worker process and the accept lock seems to be
      lost.  This might be an APR issue with how it deals with
      the child_init hook (i.e. the fcntl lock needs to be resynced).
      More examination and analysis is required.
        Status: Works with FreeBSD 5.3. Does not work in previous versions.
                This has also been reported on Cygwin.
05/03/10 21:13:47ID:KUErTDVR0
ほう。
つまり、1プロセスならば問題なさそう、という事ですね。
むしろ願ったりな状況なのかも。
190root▲ ★
垢版 |
05/03/10 22:54:35ID:???0
>>188
おー。

やってみるか。
2005/03/22(火) 02:09:43ID:NoitE4tj0
杉花粉で雪だるま・・・orz
2005/03/22(火) 03:44:18ID:WsaRzBU50
■新年度特別企画「花粉だるま作戦」liveサーバの飛躍なるか!? Part1
2005/03/22(火) 11:49:44ID:6OKcrSHN0
DISKDは速いディスクなら圧倒的にパフォーマンスいいよ。
ただ、failしたときどうすんのか。
2005/03/22(火) 12:10:47ID:IBpTOhSr0
よー分からんけどスレを全てメモリで保持、バックアップ(ハードディスク書き込み)を外部で行えばいいんじゃないの?
2005/03/22(火) 14:14:34ID:mV5GHo500
>>194
すでにメモリディスク=通称ジンギスカンは導入され絶大な成果を挙げていますが何か
2005/03/22(火) 18:31:57ID:3/GcYfJe0
datフォルダは今のところジンギスカンの対象外じゃなかったっけ、、
197動け動けウゴウゴ2ちゃんねる
垢版 |
2005/03/22(火) 18:43:45ID:vVOQLXCt0
>>196
やっぱりジンギスカンは高いから?
2005/03/22(火) 19:11:42ID:mV5GHo500
>>196
そーでしたかしら
だったらスマソ
2005/03/22(火) 20:20:59ID:t1ZjBOs10
aliveなスレ(掲示板上にあるやつ)と過去ログ倉庫を
明確に分けたらうまく逝くのかのう?

aliveなほうは全ての作業をオンメモリで
dat落ちや削除・芋掘りがあった時点で倉庫に送る(HDDに送る)とか
云い換えれば、メモリマシンとHDDマシンを完全分割
2005/03/22(火) 20:39:39ID:vVOQLXCt0
>>199
マシン感転送に時間かかりそうだしなんだか遊んでる資源が増えそうなようかん
2005/03/22(火) 20:55:31ID:t1ZjBOs10
>>200
ああ、云われてみればそうかものう。。。
2005/03/22(火) 22:22:25ID:mV5GHo500
とりあえずHDD送りはLAが一定以下でbbs.cgiがコールされたとき限定でいいんじゃないかしらと言ってみる
2005/03/22(火) 22:57:30ID:vVOQLXCt0
>>202
電源落ちるかメモリが逝くとデータが全部消えるんですが
サーバ室侵入で電源「プチっ」とかやられたら
2005/03/22(火) 22:59:14ID:f6+r4Smx0
だんだん雪だるまの趣旨から外れてる希ガス…
ま、外野だからいいかw
2005/03/22(火) 23:01:40ID:r3m2eTKb0
>203
PIEのセキュリティ体制を知らないのかと小一時間(ry
2005/03/22(火) 23:09:33ID:vVOQLXCt0
>>204
すんまそん・・・

>>205
万全って感じですか

ってゆうか1見てこないとな
書き込みながらこのスレがなんなのかわかってない悪寒
2005/03/23(水) 01:35:07ID:IxC783Ix0
そういえばDB Magazineのはてなの記事は読んだ?
MySQLのレプリケーションを使って、参照系のサーバーを更新系DBにたくさんぶら下げて。
多数のreadを参照系でさばいて、少ない書き込みは更新系だけで処理するんだって。
んで参照系はメモリを2G積んだサーバーでtmpfsにDBを置くと。
208動け動けウゴウゴ2ちゃんねる
垢版 |
2005/03/25(金) 16:35:17ID:cDFxOch/0
こんにちは。

ちょいとこのスレを目を通しただけなので、いまいち掴み切れてないのですが、一提案。
整形済のものをハッシュテーブルを利用して生成済 HTML を cache してみるのは。

基本動作は

if(URL または、リクエストでハッシュを生成と検索)
{ ハッシュテーブルからキャッシュを送信}
else // 見付からない
{ HTML 生成して、ハッシュに保存 }

HTML 済の保存場所としては、
1. 一つのプロセスが常駐できるなら on-memory
2. mfs または tmpfs
3. local fs

理想としては、アクセス数と最終リクエストによる優先順を保持して、1 または 2 と 3 を併用できたらいいとは思うけど。
新しくアクセスされたところは 1(2) に残り古いページは 3 に移って、そのうち消去。

記事の数やメモリの量にもよるけど読者が多いところに有効。

とっても大雑把だけど雰囲気ぐらいはつかめまつか?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況