■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 最新50

プログラマが2chを救う!?2

324 :デフォルトの名無しさん :01/08/27 17:53 ID:3qcMJ/2M
>>320
サーバー管理者が増加ペースを見誤るほどだったらしい

325 :デフォルトの名無しさん :01/08/27 17:54 ID:plW.7Hb6
>>319
自己レス、セパレータはちゃんと二文字目の'>'も見てた。失礼。
でも、これはread.cのちょっとした変更で対応可能だ。

326 :音楽侍 ◆NtVkSITE :01/08/27 17:56 ID:cn52pBwI
>>320
なんと回線の帯域使用料金が従量制だから。

327 :デフォルトの名無しさん :01/08/27 17:58 ID:plW.7Hb6
>>326
それは、非常に普通の事だと思うんだけど、BigServer側から
ひろゆきの方へ、ちゃんと伝わってなかったの?

328 :デフォルトの名無しさん :01/08/27 18:02 ID:cn52pBwI
>>327
まさか。
もうずっと話し合ってたけど、事が露呈したのは、26日に夜勤さんがスレで暴露、というか音を上げて、read.c公開したからだよ。
それまでずっと、「雑談系板つぶす」って言ってたんだけど。

329 :名無しさん@揚げ足 :01/08/27 18:02 ID:2Ibh3ubo
>>321
透明アボーンも対応するなら、別な文字も割り振っとこうよ'%'とか

330 :音楽侍 ◆NtVkSITE :01/08/27 18:02 ID:cn52pBwI
>328
ちょっと日にち間違ったけど、まぁそんな理由。
 

331 :デフォルトの名無しさん :01/08/27 18:03 ID:tM5s0/C.
>325
現時点ではHTMLのタグがdatに埋め込まれているので
'<'のみでは判別不可能です。

332 :デフォルトの名無しさん :01/08/27 18:05 ID:plW.7Hb6
>>331
そだね。すっかり忘れてたよ。バカだなあ>おれ
<* とか <% とかだったら大丈夫?かな?

333 :♯6411 :01/08/27 18:12 ID:Gdy5fRSM
>>329 透明あぼーんのことすっかり忘れてたYO

334 ::~名前() :01/08/27 18:15 ID:plW.7Hb6
>329
漏れも忘れてた。
でも、この方法で行くなら、透明あぼーんは別のマークを使うなどして、
read.cgiで処理しなきゃ仕方がないよね。
(コテハンにします。)

335 :♯6411 :01/08/27 18:20 ID:Gdy5fRSM
>>331 .datの中に埋め込まれる'<' '>' (< >ニ非ズ)は、
bbs.cgiのみが生成していて、
'<>'というシーケンスが他に現れないなら…
「最新レスnn」の処理はbinary search+αに
最適化できそうだなー。
番号指定はlinear searchじゃないとダメか…

実際Linuxの場合、mmapされたファイルはたいてい
ページキャッシュに残留してる…ことが期待されるんで、
無理にlinear searchを避けることもないかな。

336 :♯6411 :01/08/27 18:22 ID:Gdy5fRSM
>>335 (< >ニ非ズ)
&gt; &lt; って書いたつもりだったのに、
そのまま取り込まれちゃったよ…鬱だ

337 :デフォルトの名無しさん :01/08/27 18:27 ID:ZIaMkoUw
ほんとに夜勤さん待ちなの?

338 :Perler ◆GSi39OA6 :01/08/27 18:31 ID:95LP96f6
http://203.174.72.113/p2pcache/P2Pcache/frame.htm

における、P2P-chacheと似たもののベータ版が完成しつつあります。

これだけ分離して、

http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998764722

か、新しいスレで議論したいと思うのですが如何でしょうか?

ソースについては、幾つかのバグを潰した後公開します。

339 :音楽侍 ◆NtVkSITE :01/08/27 18:33 ID:cn52pBwI
>>338
新しいスレに賛成です

340 :うんこ12号 :01/08/27 18:33 ID:XsLanPR.
http://piza2.2ch.net/test/read.cgi?bbs=musicx&key=998676619&ls=100

IEのキャッシュが問題になっていますがもう織りこみ済ですか?

341 :デフォルトの名無しさん :01/08/27 18:34 ID:Oeqm.zBM
スレに書き込んだ人を特定する方法が、

ハンドルネーム
ID
キャップ
トリップ
fusianasan

e-mail

こんなに必要だとは思えません。
どれかを削るなり、この部分のシステムをシェイプアップすることはできませんか。

342 :デフォルトの名無しさん :01/08/27 18:35 ID:cn52pBwI
>>341
それはひろゆきに聞くべきでしょう

343 :名無しさん@揚げ足 :01/08/27 18:46 ID:2Ibh3ubo
read.cgiは塗りつぶしでいいとして、UA用に>>300が必要じゃないかな
UA側は1回/日とかで>>300を読んでアボーン処理を行うとか

344 ::~名前() :01/08/27 18:52 ID:plW.7Hb6
>343
一応、>316の方法で、新規レス取得時にあぼーんを検出出来るように
考えているつもりなのだが。

345 :名無しさん@揚げ足 :01/08/27 18:55 ID:2Ibh3ubo
頭ががdiff出力として解釈してた(恥
スマソ>>344

346 :♯6411 :01/08/27 19:01 ID:Gdy5fRSM
>>344 漏れは使ってない(ほっとぞぬ)ので
わからんのだが、新しいフォーマット導入したとき
かちゅーしゃ互換にできるだろーか?
それがちょっと心配。
まー切り捨てるってのは考えられるけど(w
あぼーんを塗りつぶす、まではかちゅーしゃとかでも
見ることができるんではないかと。

347 :名無し娘。 ◆vP.bOZFQ :01/08/27 19:03 ID:asPJm1Ug
みなさんお疲れさまです。
>>338
かなり規模の大きい話になってきましたから、「当然のこと」をきちんとまとめて、
各部を各スレに明示的に分散させると良いと思います。
・read.cgi最適化(従来との互換性を保ちつつ、新仕様の実装&バグとり)
・bbs.cgiの改善案
・bbs.cgiの作成?
・P2P-cacheの作成
大まかにわけるとこんなところですが、P2P-cacheの内部ではさらに分化もある
でしょう。
で、とにかく、各セクションが絶対に守るべき仕様を、まとめて掲げておくべき
だというのが、最もいいたいことです。
もしくは、最重点セクション以外は議論を凍結してしまった方が、むしろ
よいかもしれません(混乱を防ぐため)。
どうでしょうか。まとめてみますので、みなさんがよろしければ提示しますです。

348 :Perler ◆GSi39OA6 :01/08/27 19:03 ID:95LP96f6
>>339
タイトルとかどうしましょうか?
「キャッシュ型負荷分散システム開発スレッド」とかでいいかな?

作成もどなたかにお願いしたいのですが。。。

349 ::~名前() :01/08/27 19:05 ID:plW.7Hb6
>346
それはもう、ツール制作者さんに対応して貰うしかない。
ある程度早めに仕様を公開して、その間に対応をして貰う。
そのためには、なるべく現行の仕様から逸脱しない様に、
しなきゃならない。
まあ、それもこれも、運営側がなんと言うかにかかってるけど。

350 :Perler ◆GSi39OA6 :01/08/27 19:05 ID:95LP96f6
>>620
現在でも、キャッシュとサーバー上のデータが同じなら、リロードされても
何も送らないような仕様になっています。
10秒ごとに新規書き込みされない限り、同じことですので大丈夫だと思います。

もっと値を大きく、1度読み込まれたら5分はリロードできない、という風にすると
劇的に回線負荷は減るかもしれません。

その前に、index2.htmの負荷(キャッシュに対応していない)をなんとかする
必要がありますが。。。

351 :Perler ◆GSi39OA6 :01/08/27 19:07 ID:95LP96f6
>>350
http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998764722
と、スレを間違えて書き込んでしまいました。。。
無視してくださいませ。

352 :名無し娘。 ◆vP.bOZFQ :01/08/27 19:08 ID:asPJm1Ug
>>348
tech板でいいですか?よければこちらで建ててしまいますが。。。

353 : ̄ー ̄)ノ :01/08/27 19:17 ID:KeujS.U6
二日連続夜更かしで昼夜逆天誅
寝てる間にバージョンアップしてますね
夜は娘さん、昼間はPerlerさん
おつかれさまです
例のごとくミラーリンク
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/read14.2.1.c
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/index2.c
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/index2.c.1

古いバージョンは
http://star.endless.ne.jp/users/forcount/4countbbs/scriptmaker/index.html
(↑必要ないですけどね)

354 :名無し娘。 ◆vP.bOZFQ :01/08/27 19:18 ID:asPJm1Ug
>>348 >>352
どうやら
http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998764722&ls=50
こちらで話が進展しているようですので、新スレではなく↑でつづけて
よろしいのでは。。。
誘導はスレ立てておこないますから。

355 :Perler ◆GSi39OA6 :01/08/27 19:19 ID:95LP96f6
>>352
板の選定はお任せします。
立ててしまってください。宜しくお願いします。

356 :名無し娘。 ◆vP.bOZFQ :01/08/27 19:29 ID:asPJm1Ug
>>355
たてました。
あとの各話題の誘導などはおまかせください。。。

357 :名無し娘。 ◆vP.bOZFQ :01/08/27 19:30 ID:asPJm1Ug
>>356

http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998908154
「キャッシュ型負荷分散システム開発スレッド」

です。

358 :仕様無しさん ◆NwLv.g/w :01/08/27 19:32 ID:LABmXIYU
>353
r2chhtml.hもお願い〜

359 : ̄ー ̄)ノ :01/08/27 19:34 ID:KeujS.U6
わかりました

360 : ̄ー ̄)ノ :01/08/27 19:37 ID:KeujS.U6
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/r2chhtml.h

361 :名無し娘。 ◆vP.bOZFQ :01/08/27 19:42 ID:9PuzuTEs
●2ちゃんねる開発統合スレッド(連絡用)
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998908559&ls=20

●キャッシュ型負荷分散システム開発スレッド
http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998908154&ls=20
(この話題についての情報)
 http://piza2.2ch.net/test/read.cgi?bbs=tech&key=990334284&ls=20
 http://203.174.72.113/p2pcache/P2Pcache/frame.htm

●read.cgi開発スレッド(当面、bbs.cgiの話題も扱う)
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

●2ちゃんねるWiki(全体にわたる参照事項です)
http://www.gedoh.org/aki/2ch/wiki/yukiwiki.cgi?TopPage

362 :仕様書かきかき :01/08/27 19:49 ID:TbH.eexM
まだここで話してもいいのかな?

dat_readがとにかく効率悪いのは分かったけど
これを改善するにはdatの仕様から変えないとだめすね。

これまで改造したread.cgiはもうリリースされたの?
次期read.cgi(つーか次期2chの基本仕様)はどこで話すの?

363 :名無し娘。 ◆vP.bOZFQ :01/08/27 20:02 ID:9PuzuTEs
>>362
えっと、read.cgiに関しては全部ここのつもりですが、
当面は、現在のread.cgi各部(各関数)の機能は変えずに、
最適化を目指し、同時に、互換性を保ちつつ、次世代read.cgiの
機能も取り込んでいくことになると思います。
#ifdef でコンパイル時に選択肢を残しつつ。

364 : ̄ー ̄)ノ :01/08/27 20:13 ID:KeujS.U6
http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998908154
でも言ったんですけど
read.cgiに差分送信機能をつけれないですかね

365 :名無し娘。 ◆vP.bOZFQ :01/08/27 20:18 ID:9PuzuTEs
>>364
サーバーをProxy型にして、resumeっぽくふるまえばよいのかな。
If-rangeあたりにも対応。。。
あぼーんのときはresumeさせなければよい。
。。。gzip圧縮させたときも問題なく振る舞うかどうかは知りませんが。

366 ::~名前() :01/08/27 20:20 ID:plW.7Hb6
>>364
数時間ほど前、まさにその話をしていたんですが。
過去ログをどうぞ、あぼーん機能を含めて、大体仕様は固まっています。
(と、思う。もちろん、改良の余地はいっぱいあります。)
これに、インデックスの機能が付けられたら、現行のdatファイル(と似た
仕様)を使う場合、結構いいところまで行くと思うのですが

367 :名無し娘。 ◆vP.bOZFQ :01/08/27 20:21 ID:9PuzuTEs
>>365
つづき。
やっぱり、一般のブラウザはファイルサイズを見て差分転送にするかどうかを
決めているはずですから、cgiで動的に圧縮かける場合、できあがったgzip
ファイルに膠着性(?)がないこともあって、難しいような気がします。

368 ::~名前() :01/08/27 20:22 ID:plW.7Hb6
あ、もちろん、bbs.cgiなど、関連スクリプトもまとめて変更できる場合の話です。
次世代?の話になります。

369 :名無し娘。 ◆vP.bOZFQ :01/08/27 20:25 ID:9PuzuTEs
>>368
んと、bbs.cgiや.datファイルへの要求仕様を明確にすれば、read.cgiの方で
(現在との互換性を保ちつつ)先に実装しちゃうってのは、ありだと思います。
まだ理解しきっていないので過去ログ読んできます。

370 : ̄ー ̄)ノ :01/08/27 20:26 ID:KeujS.U6
P2Pキャッシュ+差分問い合わせ化が
次世代2chとしては最も好ましいと思うのですが
Big-serverがそれを容認するでしょうか
2chにも耐えられるという宣伝効果が事実上無くなるというか
耐えれなかったからP2P化したとして
Big-serverの宣伝としては逆効果なわけで・・・

371 :名無し娘。 ◆vP.bOZFQ :01/08/27 20:28 ID:9PuzuTEs
まず、現在のbbs.cgiがなにやってるかのフローチャートを作りましょうか。
新たな機能を加えるにしても、今何やってるか正確に分析しないことには
話になりませんし。
ドンドン話進めちゃってください。

372 : ̄ー ̄)ノ :01/08/27 20:30 ID:KeujS.U6
2ちゃんのCGI達が何をやってるかをフローチャートにしたら
何か良い案が出るかもしてませんね
お願いして良いですか?>>371

373 :名無し娘。 ◆vP.bOZFQ :01/08/27 20:35 ID:9PuzuTEs
>>372
自信なし。。。叩き台にしてください(汗

getenv()の内容チェック
.datの容量、レス数チェック、lock
名前の長さ(0<i<?),e-mailの長さ(0<=i<?),age&sage,本文のデータ量等チェック
.datに追加、lock解除
index2.htmlのlock,書き換え

374 :名無し娘。 ◆vP.bOZFQ :01/08/27 20:37 ID:9PuzuTEs
二重書き込みチェック、連続投稿チェックもあるなぁ。
どの順でチェックしているのかはよくわからないです。

375 : ̄ー ̄)ノ :01/08/27 20:38 ID:KeujS.U6
>>225
の流出スクリプト(?)を元になんか出来ませんかねぇ

376 :仕様無しさん ◆NwLv.g/w :01/08/27 20:43 ID:LABmXIYU
この辺も参考になるかな?
 http://teri.2ch.net/test/read.cgi?bbs=saku&key=996761078&st=129&to=132&nofirst=true

377 : ̄ー ̄)ノ :01/08/27 20:48 ID:KeujS.U6
よく考えたらP2Pキャッシュ化って削除関連が難しそうですよね
いくら本家サーバーで削除しても潜在的に大量の
未あぼーんデーターが全国に散らばってるんですからねぇ〜

378 :音楽侍 ◆NtVkSITE :01/08/27 20:58 ID:cn52pBwI
マルチポスト失礼。
開発シーンをもっと明確にした方が良いと思います。
1)現行システムを夜勤さんとともに向上させる
2)ひろゆきさん達が参加するような、bbs.cgiも含めた改善案
3)2ちゃんねる類似の新システム開発
いまは、上記が混然としすぎています。

379 :デフォルトの名無しさん :01/08/27 20:59 ID:CbLq.TAQ
>>377
2ch.netから全国のピアキャッシュに削除トランザクションをフィード。
ピアキャッシュリストの履歴管理が大変かな…

380 :名無し娘。 ◆vP.bOZFQ :01/08/27 21:02 ID:9PuzuTEs
>>377
そうですねぇ。

bbs.cgiがなにやってるか(それぞれがひとつの関数かな、と)
ID計算が前に来るような気もする。。。

10.zz_GetEnv()っぽいことをする
20.refererやremote_hostなどをみて、不正な場合は排除する
30.名前、e-mail、本文欄をチェックし、不正な場合は排除する
40.cookieをみて、不正な書き込みを排除する
50.連続投稿を排除する
60.書き込もうとする.datをチェックする。
61..datが大きすぎる場合、レス数が1000overの時排除
62.二重書き込みを排除
63..datをlock
70.書き込み内容の特殊文字を変換する、HTMLタグを挿入する
71.キャップ、トリップ、IDの計算
72..datに書き込み、lock解除
80.age,sage判別
81.index2.html更新

381 : ̄ー ̄)ノ :01/08/27 21:05 ID:KeujS.U6
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/read14.2.2.c
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/Makefile.14.2.2
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/r2chhtml.14.2.2.h
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/util_date.c
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/util_date.14.2.2.h

全て上げておきました
http://star.endless.ne.jp/users/forcount/4countbbs/scriptmaker/index.html

382 :名無し娘。 ◆vP.bOZFQ :01/08/27 21:20 ID:9PuzuTEs
>>378
統合スレッドの方でレスしておきますね。
>>380
そういえば、キャップがあると連続投稿規制かからないとかいう噂も。。。
どうかみなさん、バシバシつついてください。
スレ立ての場合のフローなども。。。
その後、bbs.cgi自作しちゃいますか?
キャップなどの一覧はヘッダなり外部ファイルなりに追い込んで。

383 : ̄ー ̄)ノ :01/08/27 21:21 ID:KeujS.U6
完全P2Pってのは掲示板のシステムとしては
少し難しいのかもしれませんね
特に削除という面においては・・・

そうなると、固定キャッシュサーバーが有力ですかね
Big-serverの事も配慮すると固定キャッシュサーバーは
2chで有志を募るという形にしないとマズイですね

もしくはP2Pキャッシュを暗号化してしまう
(つまり消せない未アボーンデータを見れなくしてしまう)

384 :仕様無しさん ◆NwLv.g/w :01/08/27 21:23 ID:LABmXIYU
subback.htmlの更新も81に入るかな?

385 : ̄ー ̄)ノ :01/08/27 21:25 ID:KeujS.U6
バージョン4の時のread.cもそうでしたけど
現状のbbs.cgiもつつき所が沢山ありそうですね

>>225
のデーターは本当に2chのスクリプトなんでしょうかね?
まぁ良いか・・・
これ見ながら新しいの考えてみましょうか

386 :デフォルトの名無しさん :01/08/27 21:37 ID:plW.7Hb6
夕方頃に話していたことを、まとめてみました。

次世代?2ch .datとread.cgi、その他関連ファイルの仕様案

【要点】
・bbs.cgiがインデックスファイルを作成すること
・削除処理は、レス内容塗りつぶしで行い、datのサイズを変えないこと
・削除処理の履歴?をdatファイルに記録すること
・datそのものの差分を取得するcgiを作成すること

◎インデックスファイル
インデックスファイルは、bbs.cgiが各レス書き込み時に、書き込み後の
datファイルのサイズを記録し、レス番号と関連付ける。
たとえばレス番号nのレスを読み出したい場合は、datファイルより、
idx[n-1] 〜 idx[n] - 1 の範囲を読み出す。
ファイルフォーマットは未定。32bitバイナリのベタファイルで十分だと思う。

◎削除処理
削除スクリプトは、該当レスの内容を特定の文字(とりあえず'#')で
塗りつぶすことで、削除処理を行う。datファイルのサイズを変更しない。
(インデックスファイルの整合性を保つため)
また、datファイル内のレスの最初のセパレータ"<>"を"<-"に変更する。
("<-"はとりあえず)
また、datに通常のレスの形式で、削除履歴を記録する。ただし、最初の
セパレータは"<*" とする。(これもとりあえず)

例:3件書き込まれた後、2が削除、さらに1件書き込み。
----------------------------------------------------------------------
名無しさん<>sage <>01/06/13 21:26<>暴露しろや、ゴルァ <>
##########<-#####<>998845501#####<>########### <>
名無しさん<>sage <>01/06/13 21:36<>↑削除依頼出しときました。 <>
2<*<998845501><><>
名無しさん<>sage <>01/06/13 21:46<>お、早速あぼーんされてる <>
-----------------------------------------------------------------------

◎dat差分取得スクリプトの作成
専用UAやミラーサーバがdatファイルを取得する際に使用する。
ただし、取得する際にはdatファイル内に記録された削除履歴を含めて取得する
こと。たとえば上記のdatファイルの場合、st=3&to=4 を取得する場合、実際に
取得されるのは、3行目から5行目、「↑削除依頼」から「お、早速」まで。
また、上記のdatファイルからレス番号4のみを取得する場合は、4行目と5行
目を取得する。(削除履歴を間違いなく取得させること)
専用UAは、取得した差分datから、削除履歴をみて、既に取得しているログの
削除処理を行うこと。

◎その他
削除したレス及び削除履歴には削除日時をtime_tで記録する。(用途は今のとこ
ろ思いつかないけどとりあえず。)

387 :音楽侍 ◆NtVkSITE :01/08/27 21:38 ID:cn52pBwI
>>382
というか、あっちって、見られていますか?(笑)
私が言いたいのは、いま、スレがいろいろたち始めていますが
「どのスレで、誰が、どの課題について、なにをしている」
っていう整理をした方がよい、ってことです。
読む人も、作業する人も、管理者さんたちも注意が拡散してしまいますので。

388 ::~名前() :01/08/27 21:46 ID:plW.7Hb6
追加です。

◎read.cgiの変更点
・dat_read()ではdatファイル全部を読み込まず、インデックスファイルに基づいて
 読み込む。
・セパレータを識別し、通常のレス、削除されたレス、削除履歴を認識すること。
 削除履歴は、read.cgiないで「あぼーん」として表示するようにする。

◎問題点
・「透明あぼーん」に対応できない。セパレータ(マーク)を"<%"等として透明あぼ
 ーんと認識させることは可能。

こんなもんかなあ。他にもあったような気がするけど。思い出したら追加します。

389 :デフォルトの名無しさん :01/08/27 21:47 ID:GRBfg3.A
透明あぼーんはしばらく考えないでおいたほうが・・・

390 :名無し娘。 ◆vP.bOZFQ :01/08/27 21:51 ID:ihlstQzQ
>>387
やろうと思っていたのですが、今日はなかなか時間がとれなくて。
# あっちはそのためにたてたスレッドだったのですが(^^;
申し訳ないです。
深夜帯になったら時間がとれますので、そのころ現状のままでしたらやっておきます。
# 今は私自身もなんのこっちゃ把握していない(汗

391 :デフォルトの名無しさん :01/08/27 21:57 ID:Kz6Nmn.Q
17氏のスクリプトは流出したものではなく
>>385

>>225のスクリプトですが、自力で書かれたものと思います。

以下のスレッドの発言17が17氏です。
2ch型掲示板
http://corn.2ch.net/test/read.cgi?bbs=php&key=988816430

392 :391 :01/08/27 21:58 ID:Kz6Nmn.Q
あぅ。。
元が流出スクリプトって書かれてましたね。
今まで勘違いしていました。

393 :デフォルトの名無しさん :01/08/27 22:00 ID:YfpO6h5c
ボトルネックはCPUでもDiskI/OでもなくてNetworkI/Oなんでしょ。

インデックスで多少DiskI/Oが減ってread.cgiが軽くなっても
トラフィック量が変わらなきゃしょうがないよ。

それに.datの一部やインデックスの一部が壊れただけでそのスレ崩壊しそうだ。
シンプルな実装をこころがけたいね。過度の複雑化は往々にして破綻をもたらすぞ。

とりあえず gzip の圧縮レベル上げるとかしたらどう?CPUまだ余裕あるんでしょ

394 :デフォルトの名無しさん :01/08/27 22:01 ID:2irTHpac
あのー、キャップのパスワードから、初期のスクリプトに間違い無いとの噂を
聞きましたが・・・

395 :名無し娘。 ◆vP.bOZFQ :01/08/27 22:04 ID:ihlstQzQ
夜勤★さん近況
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998903558&st=94&to=94&nofirst=true

396 :名無し娘。 ◆vP.bOZFQ :01/08/27 22:08 ID:ihlstQzQ
一日猶予が与えられたので、もうちょっと実装しましょうか。

read.cgiに限っていえば、
・NetworkI/Oを減らせるのならCPUもDiskI/Oもかなり犠牲にしてよい
・その上で、CPUとDiskI/Oにもやさしく(安定性はあるに越したこと無い)
・それらが全部終わったら、.datやbbs.cgiにも対応を求めるような開発をはじめる
で、どうですか?>all

397 :仕様無しさん ◆NwLv.g/w :01/08/27 22:11 ID:LABmXIYU
そうすると、Web板での修正のうち、比較的手のかからないものをread.cgiに
取り込み始めたほうがいいですかね?

398 :37 → |  - -) :01/08/27 22:12 ID:NB7BRIbo
>>393
最新版(ver14.x)ではすでに圧縮レベルを最大にするように設定しています...
# あ、でもzlibを使用した場合だけだ...

399 :音楽侍 ◆NtVkSITE :01/08/27 22:13 ID:92bYvmYA
というか、このスレでは「read.cgi」=夜勤さん、集中でいいと思います。
ほかのbbs.cgi系の話などはスレを分けるべきですし。

400 :デフォルトの名無しさん :01/08/27 22:14 ID:0cm50H8s
>>396 それなら「出力バッファリングしてContent-Length吐き出し」やりませう

401 :名無し娘。 ◆vP.bOZFQ :01/08/27 22:18 ID:ihlstQzQ
>>397
read14.2.1.c & r2chhtml.h では、HTMLタグ類はほとんど(99%以上)、
r2chhtml.h の方に押し込められています。
ですから、read14.2.1.c の方には手を加えずに、軽量化を図ることが
できます!とても便利。
Web板の方に r2chhtml.h の軽量化はまかせちゃいましょうか?
# あまりカリカリに軽量化されてもまずいかもですが。

402 ::~名前() :01/08/27 22:20 ID:plW.7Hb6
>393
うん、これは言われるだろうと思っていた。(ごめん)
確かにNetwork負荷の事は考えていない。元々は、「かちゅーしゃが、あぼーん
されたレスを含むスレを読み込むとき、全部再読み込みしちゃうけど、何とかな
らないか?」と言うところから始まった話だから、全然考えていない訳でも無い
んだけど、そのためだけに、となると、コストが高すぎるのは承知。
あくまでも現状の話ではなく、その先の話だと思ってください。スレ違いというの
なら、すまぬ。将来的には、read.cgiの負荷を減らすのは、いずれやらなければ
ならない作業だとは思う。
datファイルの堅牢性の件だけど、そんなに低いとは思っていない。基本的にフ
ァイル更新は追記のみだし、削除処理にしてもファイルのサイズを変えないよう
に、インデックスとの整合性を崩さないように配慮しているつもりなのだが。もちろん、
現行のdatのシンプルさにはかないっこないし、堅牢性劣るだろうけど。でも、read.cgi
の負荷を減らそうと思えば、インデックスファイルを導入しなければならないのは、
必然だと思う。

しかし、スレ違いだな。>399さん、ごめん。ここまで書いたから、これだけ書き込みます。
つか、仕事に戻ろう。(明後日納期だったりする。)

403 :名無し娘。 ◆vP.bOZFQ :01/08/27 22:21 ID:ihlstQzQ
>>398
gzip の場合もそうしましょう。
>>399
bbs.cgi 系のスレ、私はスレ立てすぎで立てられないんです(泣
立てていただけませんか?

>1 に書くべきリンクはおおむね以下の通りです(Web板も書くべきかも)。

●2ちゃんねる開発統合スレッド(連絡用スレッド)
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998908559&ls=20

●キャッシュ型負荷分散システム開発スレッド
http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998908154&ls=20
 ◆キャッシュ型負荷分散システムの概観
 http://203.174.72.113/p2pcache/P2Pcache/frame.htm
 ◆2chのような掲示板システムってP2Pで
 http://piza2.2ch.net/test/read.cgi?bbs=tech&key=990334284&ls=20

●プログラマが2chを救う!?2(read.cgi開発スレッド)
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501&ls=20

●2chの動作報告はここで。(動作報告・障害報告スレッド)
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998808733&ls=20

●2ちゃんねるWikiとTiki(全体にわたる参照事項です)
http://www.gedoh.org/aki/2ch/wiki/yukiwiki.cgi?TopPage
http://www.gedoh.org/aki/2ch/tiki/

◆各種ソースコード最新版
http://star.endless.ne.jp/users/forcount/4countbbs/scriptmaker/index.html

404 :仕様無しさん ◆NwLv.g/w :01/08/27 22:24 ID:LABmXIYU
>>401
そうですね。
あと、向こうはCになれてない人も多そうなので、
もう少し説明書きを足しといた方がいいと思うけど、
書き足したほうがいい項目って何があるかな?

405 :名無し娘。 ◆vP.bOZFQ :01/08/27 22:25 ID:ihlstQzQ
Web板での開発スレッドは
http://natto.2ch.net/test/read.cgi?bbs=hp&key=998774537&ls=20
ですが、そろそろ新スレ移行しそう。。。

で、ヘッダファイルはあちらに任せていいんですかねぇ。

406 :名無し娘。 ◆vP.bOZFQ :01/08/27 22:32 ID:ihlstQzQ
>>404
うーん。完成品を1つだけ作ろうとせず、何段階かつくってもらえると安心かな。
あと、CSSやCookieに頼らず、.hだけで完結的になるようにお願いしないと。。。

# Makefileの一部分、read2ch.hに移そう。。。

407 :名無し娘。 ◆vP.bOZFQ :01/08/27 22:41 ID:ihlstQzQ
そろそろ解放される・・・

>>400
Content-Length吐き出しについて
>>227 >>231 >>236
っと。。。検討お願いします。

408 :デフォルトの名無しさん :01/08/27 22:47 ID:QsZwFykk
>>386
>>316の方が単純でイイと思う

409 :♯6411 :01/08/27 22:57 ID:Gdy5fRSM
>>386 いろいろ考えたんだが、
あぼーんの時間は、time_tを整数にしたものを
書き込む必要はないかも。
むしろ、既発言が使用しているフォーマットで
書いてくれても…
というのは、元々のdatファイルには、発言時刻の
秒フィールドがないのね。だから無意味。
といっても、秒単位で時間を取得することは、
Last-Modifiedの精度を上げるためにも必要なことで…

以下、bbs.cgiへの要望および仕様改良への段取り
0) bbs.cgiに、秒フィールドも書き出してもらうようにしてもらう。
1) read.cgiが秒まで扱うように改変。
2) read.cgiがunix時間も扱えるように改変。
3) bbs.cgiに、時間フィールドをunix時間で吐いてもらうようにする。
4) ウマー

漏れは、曜日フィールド復活きぼーんぬ派。
過去ログ読むときに、曜日があった方が、
読んでる実感が湧くから(w

410 :デフォルトの名無しさん :01/08/27 23:03 ID:S8G1QSpA
web板か迷ったんだけど
50レスを超えるスレで、st=1と同等のことをすると書き込みフォームを
抑止すればブラウザ組の全スレ読み込みが減るのではないかな?

411 :デフォルトの名無しさん :01/08/27 23:06 ID:eH.k24MU
ついでに、E-mail欄とかにシングルクォーテーションを入れてカキコすると
返ってきた画面がエライことになるのも対応して欲しいかも。

412 :♯6411 :01/08/27 23:06 ID:Gdy5fRSM
>>409 あと、.dat取得系と互換を取るためには、
・とりあえず各フィールドにはshift jisで「あぼーん」文字列を入れておく
・残ったフィールドはwhitespaceで塗りつぶす
でいいんではないかと。(もちろんこれはbbs.cgi要対応)

…あぼーん判定をどうしよう(w
名前・mailtoともに「あぼーん」だったらあぼーんと見なし、
カキコの際に、双方とも「あぼーん」であるものを
カキコできないようにすればいいかな?

413 :デフォルトの名無しさん :01/08/27 23:07 ID:eH.k24MU
123

414 :音楽侍 ◆NtVkSITE :01/08/27 23:10 ID:92bYvmYA
>>412
むしろ、書き込み時間があぼーんで判断しないと・・・
名前、mailのあぼーんは、誰でも出来るので。

415 ::~名前() :01/08/27 23:14 ID:plW.7Hb6
>412
>・とりあえず各フィールドにはshift jisで「あぼーん」文字列を入れておく
それは、名前とかメール欄とか、フィールドの長さが足りない場合にdatの
長さが変わる場合があるから。

>408
今の専用ブラウザを変更するときに、どっちが大変か、によると思う。
なるべく現行のフォーマットを崩さない、を念頭に置いてる。

とりあえず、今はこのスレで別の作業が進行中なので、このくらいで。(仕事しろよ>おれ)

416 :名無し娘。 ◆vP.bOZFQ :01/08/27 23:20 ID:ihlstQzQ
bbs.cgi 専用のスレッド、立てることが出来ました。
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998921988&ls=20
こちらです。どうぞ。

417 :- :01/08/27 23:30 ID:q7WWiv5M
>409
投稿日時のフィールドって

01/08/27 23:19 ID:ihlstQzQ

みたいに IDも含まれちゃってますけど、これを

998921988 ID:ihlstQzQ

って感じにするんでしょうか

418 :デフォルトの名無しさん :01/08/27 23:36 ID:bJ23bC3M
今最新版はread14.2.2.cだよね?
簡単に直せそうな変な所と今まで指摘されていた場所を再掲。

BadAccess()のテーブル内(新しい方、214-)
オリジナルに従うと、こうなるはず?
- "WebFetch?",
+ #ifdefKatjusha_Beta_kisei
+  "Katjusha",
+ #endif
+  "WebFetch",

dat_read()のケツ(567-)
- for (i = 0; i < zz_fileSize; i++) {
- if (BigBuffer[i] == '\0')
-  BigBuffer[i] = '*';
- }
+ i = strlen(BigBuffer);
+ while (i < zz_fileSize) {
+  BigBuffer[i] = '*';
+  i += strlen(BigBuffer + i);
+ }

atexitfunc()(710-)
全体を
#ifdefGZIP
#endif
で囲んでくれ(コンパイルエラー)

main()の中盤(786-)
コピペの残りだから要らないはず
- #ifdef DEBUG
-  sprintf(fname, "998695422.dat");
- #endif
-  zz_fileSize = getFileSize(fname);

その他
IsBusy2ch()が、レスを1つparseする度に呼ばれているので、
main()でzz_GetEnv()を呼んだ直後辺りで一度呼んで、
結果はグローバル変数なりに保存して欲しい。
(後述するルーチン内部でもレス毎に呼んでいるので無駄)

419 :音楽侍 ◆NtVkSITE :01/08/27 23:37 ID:92bYvmYA
とりあえず、レスを全部読むのデバッグ版を夜勤さんに入れてもらわないとダメじゃないの?

420 :418 :01/08/27 23:37 ID:bJ23bC3M
それから、>>nnのリンクをカットするルーチンを作ってみた。
他にも、<br>後の空白と<br>の前の空白(さらに直前がSJIS1バイト目じゃない場合)
をカットしたり、連続した空白をまとめたりした(タブはやってない)。
このスレのレスが304までの時点のdatを使い、全て表示してみると、
約17%の削減になる。チャット状態の>>nn+1行レスが多いスレなら、
20%は軽く超える削減になるはず。

もちろん、非圧縮のUAが3割程度しかないから、
全体で5-6%にしかならないが、試してみる価値はあると思う。
ただ、テストは今Winしか使っていないので、CygwinのGCC(結構古い)で、
ローカルのファイルをいくつか読みこんで試しただけなので、
負荷等は不明。異常系のテストもバッファが小さすぎる場合しかしていない。
TYPE_TERI以外もチェックしてない。
誰か、組みこんで、負荷でも調べてくれる人いる?
アップの仕方とか知らないから、このスレにコピペしたいんだけど。
追加は全部で200行弱程度。
インデントを全角にするのが面倒なので、つぶれると思う。

まだこのスレしか読んでないので、うざかったらごめん。

421 :てすと :01/08/27 23:41 ID:eF1BPT8s
更新されたレスだけを見るリンク をつけてみました。
stをいじるという単純な事をしているだけですが。

コンパイルや動作確認ができないため変更箇所を書いておきます。
http://211.124.231.141:81/r2chhtml.14.2.2.h_reload.txt
305〜312行

http://211.124.231.141:81/read14.2.2.c_reload.txt
491,511,515〜517,1188〜1200行

既に実装されていたら逝ってきます。

422 :仕様無しさん ◆NwLv.g/w :01/08/27 23:44 ID:LABmXIYU
r2chhtml.hのほう14.2.2にちょっとコメント足しておきました。
 ftp://210.170.170.131/incoming/2ch-read-current/r2chhtml.14.2.3.h

バージョンがread.cとずれてごめん。

423 :名無し娘。 ◆vP.bOZFQ :01/08/27 23:44 ID:ihlstQzQ
14.2.2 での変更点ってどこかで公開されてますか?

272KB
新着レスの表示

スレッドリストへ戻る 全部 前100 次100 最新50

0ch BBS 2004-10-30