■掲示板に戻る■ 全部 1- 101- 201- 301- 401- 最新50

キャッシュ型負荷分散システム開発スレッド

1 :名無し娘。 ◆vP.bOZFQ :01/08/27 19:29 ID:asPJm1Ug
このスレッドは、2ch.net の転送量削減を目指し、P2P-cache型の
負荷分散システムを開発するスレッドです。

参照:http://203.174.72.113/p2pcache/P2Pcache/frame.htm
その他参照スレは >>2-5 あたりに。

2ちゃんねるの軽量化・開発に関する他の話題は、
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501&ls=20

その他、障害報告・動作報告等は、
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998808733&ls=20

に、それぞれお願いいたします。

97 :名無しさん@お腹いっぱい。 :01/08/28 01:14 ID:6KYLBzZ.
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998879305&ls=20

もうダメなのか?

98 :名無しさん@お腹いっぱい。 :01/08/28 01:53 ID:2BmjueCw
To:97
http://kaba.2ch.net/test/read.cgi?bbs=news&key=997961706&st=637

隊長暴走気味。

99 :名無しさん@お腹いっぱい。 :01/08/28 02:27 ID:qx8hbEL.
あきらめたらいかん。

100 :名無しさん@お腹いっぱい。 :01/08/28 02:35 ID:nhadVYlY
プログラマ版は必死でやってる。
最後の1秒まであきらめたらあかん。

101 :名無しさん@お腹いっぱい。 :01/08/28 06:45 ID:QuisIe3w
>>100
というか、ここにいた人がプログラム板に逝ってるんですが。

102 :Perler ◆GSi39OA6 :01/08/28 12:07 ID:0ST40Qqw
キャッシュサーバー案の方は、テストですらサーバーを提供してくれる
人がいないという事で頓挫しつつありますな。。。
閉鎖しかけた時に「うちのを使ってくれ!」って人が結構いたんで、
多少期待していたんですが。
どなたか、index2.pl動かしてうまく行った人いらっしゃいますか?

103 :名無しさん@お腹いっぱい。 :01/08/28 12:11 ID:6S1uJJBo
>>102 うーん......本質的には キャッシュ/ミラーサーバを用意するにしても
その管理者がどうなのか......ということで利用者の方も引いてしまうことも
考えられますね ひろゆき自身が動いてくれないと......

104 :Perler ◆GSi39OA6 :01/08/28 12:28 ID:0ST40Qqw
>>103
うーん、書き込みは2ch.netを使うので、書き込んだ人のIPは今までどおり
保護されますが、やはり読む側のIP保護も必要とされてるんでしょうか?

個人的には読む側のプライバシーは不要だと思っているのですが。。。
実際、世の中の殆どのサーバーが、閲覧者のIPを保存してるわけで
すし、実際悪用しようにも方法が思いつかないです。

ひろゆき氏の登場を待つまでもなく、
現状でも、キャッシュ版index2.htmlへのリンク一覧を専用スレに
張って人力で誘導すればある程度の負荷削減になると考えて
キャッシュサーバー稼動の参加者を募っています。

しかし、個人的には、究極的ですが

・負荷過多のため、2ch.net側がread.cgiを次々と止めてしまう。
・応急処置としてmirror.plを立ち上げるボランティア・サーバーが出現
・ユーザーが次第にそちらへ流れて結果的に負荷削減

という流れが荒療治ですが自然だと思っています。

そういえば、現在read.cgi「だけ」止まっているサーバーってあるのでしょうか?
あるのでしたら、そこのミラー化が一番の実験課題だと思うのですが。

105 :82 :01/08/28 12:47 ID:Aid0VNNU
>>102
index2.pl動いています。
http://202.247.106.47/tech/index2.html

他にミラーサーバに参加してやるという奴はいないのか?

106 :名無しさん@お腹いっぱい。 :01/08/28 12:50 ID:n0gCtgRw
「稼働テストなら参加できるけど本番運用はできない」って人がほとんどと思われ

107 :aki :01/08/28 13:16 ID:e.GbBjlw
http://www.gedoh.org/tech/index2.html

108 :Perler ◆GSi39OA6 :01/08/28 13:53 ID:0ST40Qqw
>>105
>>107
ありがとうございます。確認しました。
特に問題になるところはないように思えますが、検証お願いできますでしょうか?>読んでる方々

現在の所、私のローカルでは、

perl -e 'while(1){system("./mirror.pl");sleep(60)}'

というコマンド(というかone-liner)を走らせて自動巡回させてテストしています。
これだけで、とりあえずキャッシュサーバー完成になりますので、
協力者の方、引き続き募集中です。

仕事がまた忙しくなってきたので、Range対応はもうちょっと
遅れそうですが。。。まだRange仕様も半分しか読んでないですし。

109 :( ´Д`) :01/08/28 14:01 ID:naZkn1d.
はずかしながら・・・
ミラーサーバー参加したいけど、具体的にどうしたらいいのか・・・

フレッツ地域からテレホ地域に引っ越しちゃったし。(鬱
今夜試行錯誤やってみますか。

うまくいけば会社の専用線に・・・(もち帯域制限かけますけど・・・

110 :名無し~3.EXE :01/08/28 14:28 ID:R/ddTLxM
ミラーのテストをしようとしているのですが、
error: Socket Error
が出るのは何がマズいのでしょう。
このスレをざっと読んだだけなのですが何か重要なことを見落としてますか?

111 :名無しさん@お腹いっぱい。 :01/08/28 14:51 ID:sP0roUeI
rangeとgzip対応が済んでないので
現段階ではかえって負荷かけることになると思います。
gzipはmod_zip導入待ちですが・・・

112 :Perler ◆GSi39OA6 :01/08/28 14:57 ID:0ST40Qqw
>>110
サーバーは何を使っていますか?
Windowsにはsocket関連のシステム・コールがないので、
ひょっとしたらそこでコケるかもしれません。

また、サーバーによっては外部への80番ポートへの接続
を拒否してるところもあるかもしれません。

telnetが使えるなら、そのサーバーから

telnet 2ch.net 80

とやってみて、

Trying 64.71.145.43...
Connected to 2ch.net.
Escape character is '^]'.

ここまで表示が出るかどうか試してみて下さい。

あとは、Solaris辺りだと、AF_INET辺りの値が違った
ような記憶があります。

/usr/include/sys/socket.h だったかを見て違うようなら
適切な値をソースに書き込んでください。

113 :名無しさん@お腹いっぱい。 :01/08/28 15:00 ID:kWMpTnew
この間、ソースのincoming用に公開した所を攻撃して落とすようなヴぁかが
集まってる所だからねぇ、2ちゃんは。

114 :110 :01/08/28 16:04 ID:R/ddTLxM
>>112

サーバーというかOSはIRIXです。
外部の80/TCPには接続できます。 出来なければここ見れません^^;
AF_INETは合ってました。
socket.hを見た感じでは似たような値がセットされているのでたぶん
この辺りは問題無いのではないかと思います。

となると、やはりsocket関連のシステム・コールが無いのでしょうか
うーん残念。

115 :Perler ◆GSi39OA6 :01/08/28 16:23 ID:0ST40Qqw
うーん、IRIXはあると思いますよ。。。>Socket関連関数
Perlのコンパイル時の問題なのか、構造体のメンバが違うのか。。。

ちょっと私のソースの方も見てみますね。

116 :名無しさん@お腹いっぱい。 :01/08/28 16:38 ID:cccdonUU
共用レンタルサーバでも可能ならミラーサーバ参加したいが。。。
まあ、専用じゃないと迷惑だよな。

117 :名無しさん@お腹いっぱい。 :01/08/28 16:39 ID:bv2vU4Sg
サーバを提供する人が現れないとなると、
このプロジェクトが2chを救うのは、次の消滅騒ぎまでなさそうですね。
次は冬休みかなー

118 :名無しさん@お腹いっぱい。 :01/08/28 16:43 ID:k3Czl6QU
>Perler様
えと、昨日は一日ダウン&今会社にいるんで協力遅れてごめんなさいです。
もし必要であれば、今夜家に帰ってからなら稼動実験に参加できます。

あ、210.170.170.131 の持ち主です、はい。

それと、どなたか「稼動実験に参加するための手順」をまとめて頂けないでしょうか。
もしくは「稼動実験を開始するために必要なファイルをtar.gz形式でまとめる」かですね。

#いま会社なんで、時間が取れなくて自分はまとめも出来なくて・・・・。

119 :名無しさん@お腹いっぱい。 :01/08/28 16:52 ID:yjTgjGXo
>>117
ハード的な問題なら、現物寄付でどうにかなると思いますけど
2chのDNSやCGI側での振り分けをBIG Serverが許可してくれるか
難しい問題ですよね。

勝手にキャッシュサーバじゃ実効が上がらないとおもいますから
現段階で2ch管理の方にここに来てもらって、BIG Serverと話し合う時の
検討事項にしてもらう必要があるでしょうね。

120 :Perler ◆GSi39OA6 :01/08/28 17:07 ID:0ST40Qqw
色々返事遅れてます。

mirror.plがchunkedに対応してなかったため、不具合が出てました。
あと、rangeに対応させました。
デバッグ用コードを外してからリリースします。

121 :Perler ◆GSi39OA6 :01/08/28 17:50 ID:0ST40Qqw
mirror.plが新しくなりました。

ミラー用スクリプトとしては大体完成に近いんじゃないかと思います。
あとはあぼーん対策だけですね。。。簡単そうなんですが、また仕事に戻って
しまうので、変更は後回しです。すみません。

ftp://210.170.170.131/incoming/perler/mirror/index2.pl.2
ftp://210.170.170.131/incoming/perler/mirror/mirror.pl.2

122 :Perler ◆GSi39OA6 :01/08/28 17:56 ID:0ST40Qqw
とりあえず新バージョンは、

Fancy Indexを取得。

そののち、Fancy Indexを参考に1分単位で更新されているファイルを取得。

その際、キャッシュを見て、既にキャッシュがあれば、Rangeヘッダを送信。

。。。という方法を採っています。

現在のところ、piza2のtechをターゲットに10分おきに走らせた場合で、
1回ミラーするのに1分前後に収まっています。

123 :名無しさん@お腹いっぱい。 :01/08/28 18:09 ID:fuFoxE4A
では
サーバ提供者が現れないなら勝手にジオとかに自動的にユーザ登録して
.datをミラーしてしまうってのは?


ミラーしたスレは適当なキーワードと共に
2ch側にアドレスを書き込んでしまう

別班で、Windows用の専用ブラウザかプロキシを作り、そのキーワードを
発見したらミラーを読むようにし、 ファイルサイズに差があれば、その差を
埋める動作をさせる

124 :Perler ◆GSi39OA6 :01/08/28 18:18 ID:0ST40Qqw
>>123
それってgeocitiesだとabuseですよね。。。

2chの規模でそれやったら、冗談抜きで威力業務妨害罪とか
に問われそうです。。

http://www.geocities.co.jp/members/info/contents.html
>ホームページをファイルダウンロード専用のページとしたり、
>他のページ(ジオシティーズ内外を問わず)へのリンクをす
>るためだけのページ

125 :名無しさん@お腹いっぱい。 :01/08/28 18:19 ID:cccdonUU
tripod の jump2ch もどうかと思うけど。
ところで、cron が使えるところならミラー可能?

126 :名無しさん@お腹いっぱい。 :01/08/28 18:21 ID:k3Czl6QU
>>125
取り合えず、「root権限がもらえる」という前提は必須かと。
cronだけじゃなくて、色々な事をやらなければいけない事を考えるとね。

127 :Perler ◆GSi39OA6 :01/08/28 18:25 ID:0ST40Qqw
>>126
私が作った奴の今の仕様だといらないです>root権限
特に必要になる状況も思いつかないです。
cronも不要。

while(1){
system("./mirror.pl");
sleep(60);
}

ってのをbgで走らせてほったらかしにしてあるだけですんで。
逆にcronで走らせる間隔が短いと、今のスクリプトだと
二重起動起こしてファイルを潰しあう可能性があります。

128 :名無しさん@お腹いっぱい。 :01/08/28 18:29 ID:cccdonUU
>126
そっか。やっぱり自前か専用じゃないと無理だね。
一応シェルは使える。

129 :名無しさん@お腹いっぱい。 :01/08/28 18:31 ID:cccdonUU
>127
それはそれで鯖管に怒られそうだ…
プロセス切られたりして。

130 :Perler ◆GSi39OA6 :01/08/28 18:41 ID:0ST40Qqw
>>128
シェルがつかえるならmirror.plは充分動くよ

131 :名無しさん@お腹いっぱい。 :01/08/28 18:45 ID:6S1uJJBo
だれかホスティング/ハウジング業者とかデータセンタでそれなりの権限もってる
人とかいないのかな?

132 :375 ◆MsUYMX0E :01/08/28 18:51 ID:efUShCBo
実は

「2chのような掲示板システムってP2Pで」
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=990334284

でも鯖探してます。
こっちで必要なのは2ch.net に追加する新cgiがテストできる
鯖なのですが、相乗りさせていただくことって可能ですか?

ちなみにcgiの機能としては
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=990334284&st=537&to=537&nofirst=true
です。

133 :名無しさん@お腹いっぱい。 :01/08/28 18:54 ID:KihuaPf6
漏れ鯖一台余ってるYO!さくらのパーソナルだけど(w

134 :名無しさん@お腹いっぱい。 :01/08/28 18:55 ID:/foo1b.s
>>131
それなりに権限をもっているだけじゃダメなのよ…。
きちんとしたビジネスプランなり研究プランを示せないことには、
学校・会社では通用しないんで。

なので、比較的いいわけが効く実験環境ならなんとかなるけどって
いう人が多い。

135 :名無しさん@お腹いっぱい。 :01/08/28 19:10 ID:k3Czl6QU
>>127
なるほど。誤解してました。
確かにそのループならroot権限は要りませんね。

136 :名無しさん@お腹いっぱい。 :01/08/28 19:13 ID:cccdonUU
研究にするにしても、大抵の学校のサーバでは無理そう。
少なくてもうちの学校は WIDE にぶらさがってるだけなので転送量的にキツイ。
教授に申請しても ハァ?(゚Д゚) といわれるのがオチだなあ。

やはりサーバ業者の協力が不可欠なような。
キャッシュサーバみたいなのををビジネスにしてる企業に売り込む?
費用対効果が低いのはbig-serverで証明されちゃってるから難しそうだ。

137 :名無しさん@お腹いっぱい。 :01/08/28 19:22 ID:HEWceQCw
ここはThe Internetの基本に立ち返っていっそ米軍に泣きつくとか…

138 :名無しさん@お腹いっぱい。 :01/08/28 19:29 ID:/foo1b.s
>>136
いや、ある程度の数の proxy が立ち上げってくれば
2ch の全てを肩代わりするわけじゃないので大丈夫だとは思う。
ただ、実運用時には個人の趣味の範囲で許される程度からは
外れそう。

ちなみに、ビジネス・研究とは関係なくても netnews の場合
は各会社や provider が NNTP server を自前で用意していた
過去があるけど、これは junet=fj & mail だった名残なのかなぁ?

139 :音楽侍 ◆NtVkSITE :01/08/28 19:37 ID:9soq5dsg
お疲れさまです。
現在のindex2.plで吐き出されるデータって、テスト状態のデータですよね?
件名(件数)の件数が10000件以上のものもありますけど。

140 :名無しさん@お腹いっぱい。 :01/08/28 20:01 ID:cccdonUU
>138
ミラー方式だと本体への負荷が高いので、
へたに proxy の数が多いと効果が低くならない?
結局データ自体は本体に集中してる。
最終的には NNTP や P2P だと思う。

141 :にはん ◆/gWayilU :01/08/28 20:03 ID:rXhYdVC.
VLAN切ってストレージサーバを用意するとかじゃダメかねぇ。

142 :名無しさん@お腹いっぱい。 :01/08/28 20:07 ID:/foo1b.s
>>140
read access が極端に多く、traffic が問題となっている
状況ならば、proxy が多くてもそうは問題にならないでしょう。

いざとなったら squid のように proxy 間で data のやり取り…。

#って、そりゃ NNTP 化するのとほぼ同義だな。

143 :にはん ◆/gWayilU :01/08/28 20:12 ID:rXhYdVC.
>>142
要するにここでのproxyの役割は、cacheによる高速化ではなくてdelegationによる
バックボーンの負荷分散、ってことだよね? >>140 が言っているのは、(更新頻度を考えると
P2Pじゃないキャッシュがほとんど意味をなさない2chで)キャッシュサーバから本体に取りにいく
トラフィックの総計は、今のエンドユーザのトラフィックの総計と大して変わらないのではないか、
という話なんじゃないかなあ?

# でもそれだとproxyの数はあまり関係ないね

144 :名無しさん@お腹いっぱい。 :01/08/28 20:12 ID:cccdonUU
>142
なるほど。だとしても板と時間帯によるね。
ニュー速やラウンジならともかく、
WebProgとかレンタル鯖には必要ないだろうし。
それと朝方は比較的アクセス少ない。

145 :名無しさん@お腹いっぱい。 :01/08/28 20:14 ID:cccdonUU
ちょっと誤解。
キャッシュサーバへのアクセスしか許さないならば、効果はあると思う。

146 :名無しさん@お腹いっぱい。 :01/08/28 20:24 ID:6S1uJJBo
っていうか cache/proxyというよりdatファイルをコピーしてミラーリング
というのならどうなの? readよりwriteの頻度の方が低いんだから
カキコがあるたびにdat転送しても 今のreadアクセスよりはトラフィックは
だいぶ少なくなると思うけど

147 :名無しさん@お腹いっぱい。 :01/08/28 21:15 ID:o186web.
>readよりwriteの頻度の方が低いんだから
次スレに移って一ヶ月以上も経つのに。
http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=969471588&st=977
こうゆヤツも救うのかと思うと悲しくなるね…

148 :名無しさん@お腹いっぱい。 :01/08/28 21:17 ID:kWMpTnew
read.cgi は、5.10 になったが。
bbs.cgi は古かった模様…。

149 :名無しさん@お腹いっぱい。 :01/08/28 21:18 ID:/foo1b.s
>>147
おかげで、bbs.cgi の挙動が不審なことはわかったけど:-)

#でも、read.cgi と違って手のうちようがない…

150 :名無しさん@お腹いっぱい。 :01/08/28 21:33 ID:cccdonUU
>147
頭が痛いね…とりえあずスレスト依頼すべきだ。

151 :名無しさん@お腹いっぱい。 :01/08/28 22:15 ID:RfRAQI/.
スマソ 外道ネタ

 一ヶ月借りてその後の退会は自由との事
 「実験だけなら何とか出来ない?」もっともドメイン持っている人じゃないと
 ダメっぽいケド・・・どっちにしても自分で書いてて情けないな・・鬱だ逝ってくる。
『interQまるごとサーバー』は、サーバーを1ヵ月無料で体験できます。
http://www.marugoto-server.com/campform.html?mid=970026
CGI/SSI/アクセス解析可/NTTネットワークセンター内設置にて320Mbps接続
現在取得済のドメインにてサーバーをお申込み頂きますと、翌日にサーバーの用意ができます。

152 :名無しさん@お腹いっぱい。 :01/08/28 22:22 ID:6S1uJJBo
>>151 それってIPアドレス直打ちじゃダメなのかね?

153 :名無しさん@お腹いっぱい。 :01/08/28 22:23 ID:cccdonUU
悪名高き InterQか…

interQは詐欺商法(第3版)
http://salami.2ch.net/test/read.cgi?bbs=isp&key=995199180

154 :名無しさん@お腹いっぱい。 :01/08/28 22:26 ID:u7C32C9Y
板を丸ごとじゃなくて、混んでるスレだけでも分散できないかな。
混雑スレ専用proxy。かちゅーしゃなどに組み込んで。
一つのスレに連続投稿すると勝手に起動して、2ちゃんに連絡する。
以後、そのスレを読もうとすると、proxyを経由させられる。
かちゅーしゃに組み込まれたバックドアから2ちゃんが侵入するようなイメージで(w

実況などに抑止効果があると思う。巡回ソフトには効果ないけど。
2ちゃん側の変更がどの程度になるのか全然分かりませんが。

155 :にはん ◆/gWayilU :01/08/28 22:27 ID:rXhYdVC.
多分俺と同じ状況で歯痒い思いをしている人はたくさんいると思うのだが、
俺んとこはフレッツADSLで固定グローバルIPを8つもらえるサービスを使っていて、
現に稼動しているApacheがあるので、テストだけだったらIPbasedなVirtualHostで
環境を提供することも出来る。DNSラウンドロビンの実験用にVIPを振ってそれ様の
namedを上げたりしてもいい。でも、問題なのはドメインネームが.netだから個人情報が
駄々漏れになってしまうんだよ……(;´Д`)

156 :名無しさん@お腹いっぱい。 :01/08/28 22:30 ID:Os46TJAs
>>155
IP8個ならその時点で駄々漏れじゃん

157 :にはん ◆/gWayilU :01/08/28 22:31 ID:rXhYdVC.
>>156
日本の一般用whoisでは電話番号とかは出ないじゃん。

158 :( ´Д`) :01/08/28 22:42 ID:2aE5H8v6
>>118
>それと、どなたか「稼動実験に参加するための手順」をまとめて頂けないでしょうか。
>もしくは「稼動実験を開始するために必要なファイルをtar.gz形式でまとめる」かですね。

漏れのやった(やっている)手順
1:最新のindex2.plとmirror.plをGET
2:2つのファイルを/usr/local/etc/www/data/に移動し
 実行できるようにchmod
3:data以下にdat/tech/datを作る
 (パーミッションは777でやっちゃったよ。)
4: ./index2.pl tech
5: perl -e 'while(1){system("./mirror.pl");sleep(60)}'

今現在取り込み中・・・


問題があったらメールなりで指摘してくれ。
環境は自宅鯖、Pentium166Dual(藁 FreeBSD-4.3-stable apache-1.3.20

ahoahodqn@hotmail.com

159 :名無しさん@お腹いっぱい。 :01/08/28 22:42 ID:/foo1b.s
>>157
そうなんだよね。ヲレの場合、whois db を更新していないので
実家の電話番号が出てきちゃうんで、とんでもない大問題なのだ…。

160 :( ´Д`) :01/08/28 22:45 ID:2aE5H8v6
鬱氏
/usr/local/etc/www/data

/usr/local/www/data

まぁとにかくApacheのdataディレクトリ

161 :天才東大医学部5回生 :01/08/28 22:55 ID:rpp3OriI
----------------------------------------------------
*******************2chが閉鎖?ワラタヨ******************
----------------------------------------------------
ネットキャンサーが自らのトラヒク負担でアポトーシスだと。(藁
死んで当然death。消えて当たり前田のクラッカーだよ。
何?クラッカーじゃなくてハッカー?(プ
UNIX板のノータリンはハッカーとは呼べないだろ。
普段はトゥール・クラッキングでオナってる偽ハッカーのくせに。(はぁと
**********************************
-----UNIX板の連中なんざ、芋虫------
**********************************
みんなで協力してます?ハァ?死ねば?
お前らの発言とも思えないが?(^^;)
偽善と欺瞞、傲慢に独善。自分たちがしてきた行為を
振り返ってみな?胸に手を当ててよく考えろ。
そうすれば、2ch閉鎖が世界のためだと気づくはずだYO!

最後に。UNIX板のプログラマはヘタレ。
お前らの吐き出すコードはムダとバグの塊。
もうママゴト・プログラミングなんてやめたら?みっともないよ。

162 :anony ◆3XTuRnAc :01/08/28 22:58 ID:cmJDCZ/M
>158
感謝!
っていうか、「なんでmirror.pl動かんのじゃー!」とか苦闘してて(汗。
先にindex2.plを動かさんと行けないってのを忘れてました。

ご指摘感謝。いま動いてます>mirror.pl

163 :anony ◆3XTuRnAc :01/08/28 23:02 ID:cmJDCZ/M
あ、すいません、>>162はいわゆる「369」です。

164 :名無しさん@お腹いっぱい。 :01/08/28 23:13 ID:Aid0VNNU
ミラーサーバ案が頓挫しそうな雰囲気ですねぇ。

2chをNNTPに載せるという案を散見しますが、具体的にどうするかという話が
全然出てこないですね。状況は逼迫してると思われるので、急いで実現可能な
方法が必要だと思うんです。NetNewsのシステム自体は枯れているので、それ
をそのまま使うというのは現実的な話だと思います。ただし、現在の2chのシ
ステムをそのままNetNewsに移行するのは難しいと思います。やるとすれば、
2chとは別の、2ch的ポリシーを持ったトップカテゴリを作るというあたりが落
としどころではないでしょうか。

仮に、2ch.* というトップカテゴリを作るとして、これに属するGroupはすべて
moderatedにします。moderatedとはどういうことかというと、投稿した記事は
一旦moderatorにメイルで届きます。通常はmoderatorが検閲し許可した記事を
代理投稿しますが、2ch.* では匿名化のために使います。moderatorに届いた
記事はスクリプトで From: nobody@invalid (名無しさん) みたいに書き換えて
投稿します。

サーバ側に関しては、とりあえず自分のマシンに 2ch.* を作って、OPEN NNTP
として運用を開始し、同時にpeerしているサイトに配送を働きかけます。他に
希望があれば、どことでも無条件にpeerします。

クライアント側に関しては、NetNews用のクライアントを使う必要がありますが、
OutlookやNetscapeが使えるので障害は少ないと思います。Webインターフェイス
が必要であれば勝手に作ってください。

こんな具合で始めたらどうでしょうか。

165 :ガンガン荒らすぞゴルァ :01/08/28 23:16 ID:Y4zr4Mqs
馬鹿プログラマー死ね!!

166 :ガンガン荒らすぞゴルァ :01/08/28 23:19 ID:Y4zr4Mqs
>>161
激しく同意

167 :anony ◆3XTuRnAc :01/08/28 23:20 ID:cmJDCZ/M
えと、ftpサーバーの
incoming/2ch-read-current/
以下に、

mirrortest.tar.gz
mirrortest.doc

というファイルを置いておきました。mirror実験を開始するための
セットと、その使用方法というかつかい方、というところで、
簡単なセットとマニュアルをおいておきました。

なにか間違いとか不備があったら突っ込みお願いします。

168 :天才東大医学部5回生 :01/08/28 23:21 ID:rpp3OriI
>>166
僕は荒らしをしているとは考えていない。
そうではなくて、真実を述べている。

169 :天才東大医学部5回生 :01/08/28 23:23 ID:rpp3OriI
>>167
全般的にカス。コーディング。やめれば?

170 :名無しさん@Emacs ◆oQwux7a6 :01/08/28 23:42 ID:E.ArZ2us
mirror.pl.2 ですが、HTTP/1.1 のデフォルトは持続型接続と
なっているのでファイルをダウンロードしてから Apache が
タイムアウトで接続を切ってくれるまで待つようになります。

Connection: close を送出するとダウンロードが完了したら
即座に Apache が接続を切ってくれるのでミラーリングが
早くなります。

ほんとは持続型接続をうまく利用すべきでしょうけど・・・。

--- mirror.pl.2.orig Tue Aug 28 22:58:33 2001
+++ mirror.pl.2 Tue Aug 28 23:05:11 2001
@@ -322,6 +322,7 @@

###### GET コマンド送出
print S "GET " . $get_command . " HTTP/1.1" . $crlf ;
+ print S "Connection: close" . $crlf;
print S "Host: $servername" . $crlf . $crlf;
1;
}
@@ -336,12 +337,14 @@

###### Range付きGET コマンド送出
print S "GET " . $get_command . " HTTP/1.1" . $crlf;
+ print S "Connection: close" . $crlf;
print S "Host: $servername" . $crlf;
print S "Range: bytes=$range-" . $crlf . $crlf;

### debug..
&green;
print "GET " . $get_command . " HTTP/1.1" . $crlf;
+ print "Connection: close" . $crlf;
print "Host: $servername" . $crlf;
print "Range: bytes=$range-" . $crlf . $crlf;
&nomal;

171 :名無しさん@お腹いっぱい。 :01/08/28 23:44 ID:u7C32C9Y
NNTPは懐古趣味とか言ってみる

172 :名無しさん@お腹いっぱい。 :01/08/28 23:55 ID:lMUSoYms
DQ−−−−−−−N

173 :名無しさん@お腹いっぱい。 :01/08/29 00:22 ID:TrXIg0dU
NNTPウザイ

174 :743 :01/08/29 00:27 ID:F1mQSOi6
>173
昔、ひろゆきさんが「バケツリレー式のNetNewsなんて、ぶっ潰そう!」
なんて言ってた頃もあったけどねー。;-P

175 :( ´Д`) :01/08/29 00:33 ID:iNsPkFvk
index2.plとmirror.plをつかっていろんな板を自鯖に保存したくなってきた・・・

176 :743 :01/08/29 00:49 ID:F1mQSOi6
>175
そう思って皆がミラーし始めて、転送量上がるんじゃないの?

177 :anony ◆3XTuRnAc :01/08/29 01:03 ID:TkQkeuao
>mirror.pl
無事動いてます。index2.htmlからの読み込みなどもオッケーのようです。
IRC経由で友人に頼んで動作確認してもらいましたが、読めるみたいです。

あとは、「このパッケージがあれば動作確認ができるぜ」っていう
アーカイブとドキュメントを書けば良いのかな。
それと、なにげにディレクトリ階層をちゃんと2ch風に合わせないと
だめなんだろうな、という話も考えなきゃ・・・・。

178 :( ´Д`) :01/08/29 01:16 ID:iNsPkFvk
>>176
もちろんミラーサイトから・・・(笑


うーん、次はread.cgi・・・どうやるんだ?

179 :名無しさん@お腹いっぱい。 :01/08/29 02:03 ID:kUOQxvzM
とりあえずmirrortest.tar.gzを自分のサーバーのhttpdルートに解凍して
mirrorフォルダは作りました。あとはmirror.plを実行すればいいんですよね?

180 :anony ◆3XTuRnAc :01/08/29 02:07 ID:TkQkeuao
>>179
あとは、read.cgiを何とかしてmakeして、って作業が必要かと思います。
閲覧にはやっぱりread.cgiをつかいますので。

181 :名無しさん@お腹いっぱい。 :01/08/29 02:12 ID:kUOQxvzM
>>180
read.cgiを何とかって・・・どうするの?(^^;
makeはできるけど、どのファイルなのか。
もう一個のほうのプロジェクトで開発してるんでしたっけ?

182 :Perler ◆GSi39OA6 :01/08/29 02:14 ID:44.z9PPA
みなさん検証ありがとうございます。
Connection: close
以外の不具合は見つかっていないでしょうか?
Connection: closeに関しては、次バージョンで取り込みます。
その前にkeep-aliveに対応したいところですが。

183 :anony ◆3XTuRnAc :01/08/29 02:18 ID:TkQkeuao
>>179
てことで、「必要なもの一式」をまとめてみました。
つまり、「mirror.plを実行する環境」のほかに、「read.cgiを動かす」
こともできなくてはなりません。

ということで、そのアーカイブセットとドキュメントを

ftp://210.170.170.131/incoming/mirrortest/

の中に置いておきました。

184 :anony ◆3XTuRnAc :01/08/29 02:22 ID:TkQkeuao
>Perlerさん
えと、バグというか、不具合というか。

自分はいま、perlerさんが軽く紹介してくれた一行スクリプトを走らせているのですが、
index2.htmlの構築の段階で予想外に時間がかかってるので、
sleep(60)が意味をなしてない感じです(^^;;。

mirror.plの実行終了から60秒じゃなくて、mirror.plの起動から
60秒待って、という感覚なんですが、perlの使用ってこんなんじゃ
ないですよね?

つまり、waitなしでひたすら実行されてしまうように見える、って
ことなのですけれども。

あと、先ほどあげましたmirrortestのアーカイブとかドキュメントとかで
不備がありましたらぜひご指摘ください。

185 :anony ◆3XTuRnAc :01/08/29 02:35 ID:TkQkeuao
えと、明日も仕事なんで、とりあえず自分はここらで寝ます_(..)_
また明日の晩まで実質的には動けません・・・・。

186 :179=181 :01/08/29 02:37 ID:kUOQxvzM
実行してみた。
一応確認だけど、ドキュメントの cd mirror/dat/test
cd mirror/testですよね?(Makefileとソースがそこにあるので)
実行したところzlib.hがなくて動作せず。
探さないと・・・。

187 :Perler ◆GSi39OA6 :01/08/29 02:38 ID:44.z9PPA
>>184
うーん、mirror.plが時間がかかるのは分かるんですが、index2.html
の生成は一瞬のはずですが。。。
ただ、index.datを入れない状態だと、2ch.netのtechのすべてのログ
をダウンロードするため、ものすごい時間がかかります。
昨日あたりのindex.datをサーバーにあげてあるので、それを入れる
とダウンロード時間はかなり少なくなります。
1分ごとの起動だと、mirror.plは1分くらいの時間は食いますが、それは
現仕様では仕方ないです。

188 :てんてんdwp@ yankee.tokyo-nazo.net :01/08/29 03:37 ID:kUOQxvzM
>Perler
ミラーテスト成功しました。
index.html書いてないので、datディレクトリのファイルを直接参照したんですが・・・。
http://www.tokyo-nazo.net/mirror/dat/test/read.cgi?bbs=tech&key=997788843
です。
また明日の夜に覗きに来ます。
私に協力できそうなことがあったら協力しますので。

189 : ̄ー ̄)ノ :01/08/29 09:12 ID:c40YJ4Sg
FTPサーバー落ちてませんか?

190 :anony ◆3XTuRnAc :01/08/29 09:13 ID:4vxuBj56
>perlerさん
すいません、ちょっと勘違いしてました。
切り分け様にprint文要れて動かしてみたら、ちゃんと動いていることを確認できました。
たびたび誤解してごめんなさいです。

えと、今日一日家に戻るまで動かしておきます。
http://210.170.170.118/mirror/dat/tech/index2.html

・・・って、ftpサーバのアドレスも変わってますのでご注意を。
今IP表示させて気づきました(汗

191 :anony ◆3XTuRnAc :01/08/29 09:15 ID:4vxuBj56
>>189
落ちてる、というよりも、IPが変わってます。
ADSLなもので、たまにこうなります(汗。
あ、メインのftpサーバーは落ちてません。

#今朝の6:30ごろに、IPが変わったらしいです。

192 :音楽侍 ◆NtVkSITE :01/08/29 09:27 ID:j/vYHKaU
>>190
こうやって動いてみると、けっこう生々しく現実味がありますね。
ただ、完全ミラーは時間的に厳しいですかね?
サーバ/ジャンル単位に複数のサーバでサポートしたりするのがいいのかもしれない。

193 :名無しさん@お腹いっぱい。 :01/08/29 09:35 ID:nl0FB/..
>>42
>ただし、全板キャッシュするとそれなりの容量と帯域を使うので、最大で数百人〜数千人が
>利用しないと旨みが少ないし、板ごとのキャッシュじゃ2ch.netに振り分けの負荷が掛かる。

2chからはランダムでキャッシュ鯖に転送処理を入れて、
キャッシュ側で全板対応してなかったら、分担リストを元に
更に別の鯖に転送するっていうのは駄目でしょうか?

そうすれば、2ch側では、たまに鯖の生存確認して、
転送リストを更新する程度の処理で済むと思います。
もっとも、登録は信頼性確保の為手動でもかまわないかも?

キャッシュ側でも、自分のところで対応してなければ、
そのまま丸なげしてしまえばいいので、簡単だと思います。

とりあえずテストの段階では転送部も独立可能な気がしますが、
というか登録が少ない内は、自動転送なんかしたら
キャッシュ鯖の方がパンクしてしまうだろうし。
まあ、ユーザーがキャッシュ鯖のアドレス知ってれば必要ないのか?。

負荷の少ないランダム転送ってどうやって実現すればいいですかね?

194 :音楽侍 ◆NtVkSITE :01/08/29 09:39 ID:j/vYHKaU
>>193
読み出しサーバを専門単位かサーバ単位に複数用意しておき、そこを一次サーバにする。
2次サーバがそれら一次サーバ各自から孫になって情報をもらうようにすると、2ちゃんサーバの負担は軽減しますかね。

195 :にはん ◆/gWayilU :01/08/29 09:41 ID:OYkF597Y
>>193
膨大なコストがかかってもいいなら、ロードバランサーを導入すべき。
それではダメなのであれば、DNSラウンドロビンのルールを有人監視 or cronで自動判定
して書き換える、とかする、って感じだろうか。有人監視は有り得ないのでたとえば定期的に
ESTABLISHEDなコネクション数なりプロセス数なりにrequest->replyなチェックをかける、
とかかなあ。

196 :音楽侍 ◆NtVkSITE :01/08/29 09:49 ID:j/vYHKaU
ただ、ユーザが個別にアクセスしなくなるのと、常時一定のトラフィックが発生することをはかりに掛けてみないと何ともいえませんね。
直感的には、各サーバから読み出した方が良さそうだと思うんだけど、
「だったら、bbs.cgiなども設置して、Big-server解放してあげたらどうなのよ?」っていう、すごく根元的な疑問を持ってしまうのです。


続きを読む

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver5.26+ (01/10/21-)