- 1この掲示板の特色 投稿者:靴屋のスミス 投稿日:01月08日10時29分57秒
- サーバーに負荷を与えないように、読むだけのときには殆ど処理をしないようにしています。
- 2 投稿者:靴屋のスミス 投稿日:01月08日10時30分51秒
- つまり、出力される可能性のある文字列はタグも含めて書き込んだ時点で
殆ど作成済みです。
- 3 投稿者:靴屋のスミス 投稿日:01月08日10時31分22秒
- その代わり、書き込みはちょっと遅いかも。
- 4 投稿者:靴屋のスミス 投稿日:01月08日10時32分00秒
- 書き込みに時間がかかると、データの損失の可能性が大きくなるかと思って、
スレッドごとに二つのファイルを持っています。
- 5 投稿者:とま 投稿日:01月08日16時45分59秒
- あれれ?
- 6 投稿者:読者 投稿日:01月08日16時48分58秒
- この掲示板の特色?
駄洒落系ですか?
- 7 投稿者:靴屋のスミス 投稿日:01月08日19時17分16秒
- この「掲示板スクリプト」の特色が正確ですね。
ダジャレ専用スクリプトも作りたいですね。
- 8 投稿者:ひろゆき 投稿日:01月20日04時11分40秒
- 靴墨さんのアイデアを使わせていただきましたです。
各ディレクトリの中に、htmlというフォルダをつくって、
dat(ログ)に書き込みがあるたびに、htmlフォルダの中に、
最新レス10個を入れたファイルをぶち込んで、
indexの生成に使うというものです。
靴墨さんのスクリプトをみせていただいたのですが、
なんだかよくわかんなかったので、、、<あほですいません。
てきとうに似たような挙動のものをつくりました。
事後承諾のような形で申し訳ありませんです。
ありがとーございましたー。
- 9 投稿者:靴屋のスミス 投稿日:01月20日05時17分13秒
- うへへ、なんか嬉しいです。
スクリプトの開発なんかより、運営の方がすごーく大変ですよね。
がんばって下さい。
あと、もしよろしければ、この方式で本当に負荷が減るのかどうか分かったら
教えて下さいな。
- 10 投稿者:読者 投稿日:01月21日11時15分00秒
- つーかさ?
上の投稿、本当にひろゆきだとしたら、また見つかると
「ぱくり屋」だのなんだの言われそうじゃん。
メールにすれば良いのに。
でも、パクリ屋と言われようとなんだろうと皆の環境を向上させようと
いうのはえ〜事ですね。
強いわ。
- 11 投稿者:ひろゆき 投稿日:01月21日15時47分28秒
- いやぁ、、パクリ屋だしぃーー(^^;)
さておき、負荷はかなり減りました。サーバに入って、TOPでみるのですが、
bbs.cgi(書き込みスクリプト)bbsback.cgi(過去ログみるスクリプト)が
起動されてから、終わるまでが劇的に早くなりました。
物理的に、読むファイルの量が減ったから当然なんですが、、
ところが、うちのサーバjbbs.netがへぼなので、、、
500エラーがでちゃって、真価がわかりません、、(;;)
どちらにしろ、かなりのパフォーマンスアップは間違いないようです。
- 12 投稿者:靴屋のスミス 投稿日:01月21日16時25分22秒
- うひょう。効果ありましたか。
その事実自体、かなり参考になります。
特に、僕のスクリプトをそのまま使わなかったことが重要です。
以下の文章は特にひろゆき君宛てではありません。
「そんな機能をつけるくらいだったら軽くしろ」
なんて発言を気軽に言う人たちへの文章かな。
ファイルの読み込み量が減ったので、速くなるのは当然だと思
うかもしれませんが、僕のスクリプトが速いとは限りません。
他にも色々、実験的なアイデアが含まれているため、僕のスク
リプトは(体感的に)速くありません。
確実に性能を発揮するには、負荷がかかった状態の掲示板を継
続的に運営して、ウィークポイントを感じ取らなければなりま
せん。
読むときに遅いといっても、スクリプトのレスポンスが遅いの
か、転送量が多いのか、他の人の書き込みでマシンのパフォー
マンスが落ちているのか、スクリプトが大きくてコンパイルに
時間がかかっているのかなどなど・・・
コンピュータとはいえ、理屈どおりに動くとは言えないのです。
実運用ではサーバーのキャッシュや回線状況にボトルネックが
ある可能性もありますよね。
アクセスする人の性格の傾向なんてのも重要なパラメータです。
サーバーのプロセスを監視して、ボトルネックを発見するソフ
トもありますが、そういったものを効果的に使うことができる
というスキルがあれば食べていけるくらいで、一筋縄ではいか
ないのです。
つまり、何が言いたいかというと、継続は力なり。
いや、
「夏にプーンとうるさい小さな虫はあとからあとからわいてき
て、へこたれんなぁ。コロッケ頂戴」
という意味じゃないです。
あ、ここまで書くと、長文は省略になっているかな?
- 13 投稿者:くら 投稿日:01月21日16時28分29秒
- まぁ、スピードアップ以外の意味もあるんだけどなぁ
- 14 投稿者:靴屋のスミス 投稿日:01月21日16時29分44秒
- >500エラーがでちゃって、真価がわかりません、、(;;)
>どちらにしろ、かなりのパフォーマンスアップは間違いないようです。
いやいや、分かりませんよ。
もう、CGIという枠では解消できないほどの負荷になっているのか
もしれません。
#それにしても、「長い投稿なので・・・」は我ながら良い機能ですね。
#長文でいくつかのレスをしても、流れだけは表でつかめる・・・ような
#気がします。
#こりゃ、荒らし対策だけじゃないな。
- 15 投稿者:くら 投稿日:01月22日23時43分09秒
- http://www.yuzuriha.sakura.ne.jp/~cluster/bbs_browser/viewer.cgi?1+list&1=4&2+list&2=3&5+dat0108102957&5+dat0121195145
スレッドを別個に保存しとくとこんなことができます
どこのサーバにあるスレッドでもまとめて1つの画面で見ることができます
さらに独自の方式に対応してる掲示板なら(今のところ自分の作ったやつだけだけど…)、
スレッド5個とかも見ることができますし、スレッドの追加の操作も簡単になるので、
かなり使い心地がよくなると思います
- 16 投稿者:靴屋のスミス 投稿日:01月23日00時21分23秒
- うへー、すごい機能。
IFRAMEをCGIで、しかもユーザーが設定できるような感じ。
- 17 投稿者:ひろゆき 投稿日:01月23日16時28分32秒
- >「長い投稿なので・・・」は我ながら良い機能ですね。
いやぁ、、じつは、狙っています。。(^^;;)
さておき、おいらは、ボトルネックを一つづつはずしていくことで、
パフォーマンスの改善をもくろんでます。
前は、メモリ不足のswapが原因で、メモリを増やして、今度は、カーネルの扱える
ファイル数がネックになってます。それを減らしたら、またなにかでてくるとおもいますが、
そうやって、改善してこうと思ってます。。。
- 18 投稿者:ひろゆき 投稿日:01月23日22時17分10秒
- あれれ?裏にまわった?
- 19 投稿者:読者 投稿日:01月24日11時27分56秒
- まじ、ひろゆきなん?
おしさひぶり。
ひろゆきのところなんかは、そ〜か〜
メモリ増設などの根本的な手立てもとれるんですね。
さすが、独自サバ、サバ立て、立魚、太刀魚。
太刀魚で、あの状態なら、混雑時の輻輳が問題になるんじゃ
ないんでしょうか?
読みこみが遅いと、再読み込みとか、
中にはサルのようにリロードを繰り返す人とか居るんじゃないですか?
HTTPサバの前に、プロクシつーか、キャッシュを置くのって
ど〜なんでしょうかね?
今は、HTTPの前段のキャッシュが大きいのかな?
連続リロード要求を何らかの形で一本化すれば、
混雑時の輻輳をだいぶ緩和できるような気もしちゃったりします。
言うのは簡単で、やるのは大変でしょうが。
- 20 投稿者:読者 投稿日:01月24日11時29分41秒
- あれ?裏に潜った?
- 21 投稿者:靴屋のスミス 投稿日:01月24日12時25分08秒
- ?
裏に?フレーム表示のこともありますが、ネスケの動作は未確認なもので
すみません。
表で書き込むと、裏の表示になるんですか?
- 22 投稿者:靴屋のスミス 投稿日:01月24日12時26分16秒
- キャッシュが効いちゃっていたのかな?
メタタグが間違っているのかな。
IEでは意図した通りの動作をしています。
- 23 投稿者:ひろゆき 投稿日:01月24日16時14分27秒
- どもども、おしさひぶりです(^^)
プロキシーをおいちゃうと、htmlの更新に気づいてくれないので、、、
ただ、cgiの呼び出しにくらべて、htmlのダウンロードは負荷がめちゃくちゃ低いので、
あまり問題視してないです。
リロードをhtmlのところで、やってもらえれば、負荷すくなくてすむようになってます。
レスを全部読むをリロードされると困るんですが、、
htmlにするとしても、靴墨さんみたいに、フレームでわけないと投稿欄がつけられないし、、
IEユーザなんです。んで、レスを全部読むのほうから、17を書いて、
レスを全部読むのほうでは、更新されてたので、かいてあるとおもってたら、
6時間後に、いくらリロードしても表示されないので、へんだなぁとおもって
書き込んだら、でてきたわけです。。。うちのキャッシュの問題かもしれませんが、、
- 24 投稿者:読者 投稿日:01月24日18時18分57秒
- ああ、なるほど、CGI経由だと、いったんperl全部読み込まないと
戻ってこないものなぁ。
投稿無し書き込み=レス全部読むで、スクリプトのインタプリンティングを
停止してhtmlの読み込みに切り替えられれば良いのか。
う〜ん、perlインタプリンタにエラーをスローして、
当該レス(スレッドID)をパラメータにperlインタプリンタから
エラー復帰する、例外終了時はそのエラーパラメータをベースに
htmlの吐き出しを行う。
な〜んて事するぐらいなら、perlから足を洗った方が得策か。
何にせよ、独自サバならでわの世界に成ってしまう。
−
裏に回ったように見えたのはIEのせいのようです、
IE5にしてから、重いわ、変だわ、コピーができないわ
その他もろもろ、うざったいです。
−
あ、そいから、2ちゃんねるを本当に軽くするなら、
掲示板を分散しませう
つーのは、どよ?
- 25 投稿者:靴屋のスミス 投稿日:01月24日18時56分27秒
- >読者さん
perlの実装を知らないので、何いってんのか分かりません。
一旦全部コンパイルしてから動くと思っていましたから、
参照系のルーチンは、別cgiにすれば良いと思っていました。
靴スミスクリプトでは、カキコが有った時は、index.htmlしか更
新していません。
次のページ(index2.html index3.html...)は、見ようとした時
にcgiを起動して、更新の必要があった時のみ、作り直しています。
更新の必要が無い時はあるのか!
新規スレッドが作られるよりも、既存スレッドへのレスが多く、
順番が入れ替わってばかりいる場合、後ろの方のページは作り
直す必要性は少ないですから。
でも、作り直す可能性はあるのですから、参照系とはいえ、
index?.html を作成できるルーチンは用意しなければなりません。
結局、そういった部分を切り分けて、インクルードしないと行け
ないのですよね。
まぁ、そのうちやります。ここはバナーとかを自動挿入するので、
どこで遅くなっているのか分からんので困っているんですが・・・
- 26 投稿者:靴屋のスミス 投稿日:01月24日18時59分15秒
- あ、あと、レス全部を見るでも、作り直しを行う可能性があります。
dat???.html が壊れていた場合を想定して・・・
あ、その場合は関係ないじゃん。
いや、戻ってきた時に関係あるんだったっけ。
まぁ、ちょっと凝りすぎってところです。
- 27 投稿者:読者 投稿日:01月25日00時01分23秒
- perl は、逐次変換(インタプリンティング)されるんですよね?
だから、スクリプトが長ければ、途中で打ち切っても perl 自体の
読みこみは行われてしまうので、遅いかなと言う事なんです。
条件によって、別のスクリプトを読みこむのって出来ましたっけ?
あ、次の処理にまわすのは出来るか。
ふむふむ
なんとなくだらだらinclude してばかりいますからね。
つーか、考えもせんと、再利用しているとも言う。
perl を使うときは、遅くて当たり前、ぐらい腹をくくってしまうので
それほど突っ込んで考えた事無いです。
独自サバなら、cででもデーモン作っちゃった方が早いでしょ?
−
スレッド可動式と言う事考えると、、、、
レス全部読むに対応するに、
そもそもスレッドの全部のログを別ファイルで持つ、
頭の全スレッド表示は、小さな cgi で、それらの
全ログファイルの一部(1、と新規投稿8個とか)だけを
分別してレスポンスする。
つーのは、どーなんしょ?
スレッドの順番は、別のファイルにインデックスを作るとか、
ログファイルの更新時間順にするとか。
ログファイルをだらだら別ファイルにしておいて、
それを一ページに編集するトップページ用の cgi が
どのような物になるかは、不明。ふふふ、無責任、ごめん
- 28 投稿者:ひろゆき 投稿日:01月25日08時14分36秒
- >あ、そいから、2ちゃんねるを本当に軽くするなら、
>掲示板を分散しませう
分散したいのは、やまやまなんですが、、サーバがないです(;;)
perlの仕様はしらないんですが、必要な機能だけを、if文の中で、
requireして呼び出すようにしてます。
だから、すべての機能を毎回実装してるわけじゃない、、とおもうんだけど、、
perlってそこらへんどうやって処理してるんだろう。。。
- 29 投稿者:靴屋のスミス 投稿日:01月25日16時41分40秒
- >全ログファイルの一部(1、と新規投稿8個とか)だけを
>分別してレスポンスする。
あめぞうの速報で、1000個とかのレスが付いているスレッドが存在するだけで
表の更新が遅くなっていましたよね。
どうも、読み込みによるオーバーヘッドが大きかったみたいです。
でも、あのときは、
@Slead=<LOG>;
のように、一気に全部配列に格納する書きかただったから、遅かっ
たのかもしれません。
自分でバッファを用意して、readlnを作れば速いかもしれませんが、
今回は表用のデータを作っておくことにしています。
(readln作ろうかな?あ、どこかに転がっているか!)
>if文の中で、requireして呼び出すようにしてます。
うひょ、それで速くなっているのなら、目から鱗です。
けど、試してみるにも、速さの測定方法からやらないと・・・
僕の環境は、ローカルだと perl for Win32 で、プロセス起動のオ
ーバーヘッドが UNIX 系に比べて大きいと聞いています。
経過時間、正確に計れるかな?
- 30 投稿者:読者 投稿日:01月27日02時02分59秒
- ちゃうちゃう、
掲示板の分割と言うのは、
あめぞう(仮)とか、あめぞう2000(ど〜も、ここはやる気が無いらしいけど)
に専門板を分割すると言う事です。
巷で噂になっている、2ちゃんねる商業化(って言っても良くわかりませんが)
にふさわしくないようなサイト(内部告発とか、マル創とか、スポンサーが
引くような部類、んで、実はユーザーが喜ぶ話なんでしょうが)
そういうのを分割、委譲したらど〜かなと思ったわけです。
スポンサーを付けて、表の世界でも十分やっていけるでしょ。
yahoo やら、 excite の掲示板を考えると、2ちゃんねるの
コンテンツと言うのは十分競争力あると思うんですよね。
株を出すなら、頂戴ね(って、こ〜ゆ〜のをアメズボは
掲載するんだろうね)
- 31 投稿者:ひろゆき 投稿日:01月27日03時45分57秒
- 2chを株式会社化する気はありませんが、
2chで証券市場をつくろうという壮大な絵空事?はあります。
結構面白そうなので、できるところまでは動いてみようかと思ってます。
- 32 投稿者:infohands 投稿日:01月28日03時15分56秒
- こんにちは
靴スミ掲示板でいいネタがありましたね
つーかあめぞう系論客はあめスポにネタを提供してくれてありがたいです。
- 33 投稿者:ひろゆき 投稿日:01月30日05時36分49秒
- 靴墨さんの「中略」は、文字数でやってるんですよね?
うちは、1文字改行という荒らしが多いので、改行の数で、
一定以上なら、中略にするようにしました。
なにはともあれ、アイデアぱくりました(^^;;)
いつも御世話様ですー。
- 34 投稿者:すずね 投稿日:01月31日03時39分45秒
- あー急に中略がでてきたと思ったら(笑)
- 35 投稿者:ひろゆき 投稿日:01月31日04時26分46秒
- 結局、靴墨さんのアイデアをぱくりまくってしまいました(^^;;;;;
- 36 投稿者:靴屋のスミス 投稿日:02月01日04時25分39秒
- 文字数と改行数の両方を見ています。うふふ。
- 37 投稿者:ひろゆき 投稿日:02月02日16時36分43秒
- あらら、、改行数もみてたんですかぁ、、ぬかりないっすね。
人の書いたのを読むのって、苦手なんですよ。。(;;)
- 38 投稿者:ひろゆき 投稿日:02月14日21時20分28秒
- おりょ?
- 39 投稿者:靴屋のスミス 投稿日:02月15日18時13分18秒
- 仕事が忙しいのでぜんぜん更新していません。
以上。
- 40 投稿者:ひろゆき 投稿日:02月17日05時11分46秒
- あらあら、、おつかれさまですー
- 41 投稿者:ねえさん@ちわー(。・_・。)ノ 投稿日:02月18日06時50分28秒
- どうでもいいっすけど、ひろゆきさんって
どこにでもいますよねぇ。。(-_-;)
- 42 投稿者:ひろゆき 投稿日:02月21日15時47分29秒
- いやぁ、、6人いますから、
( ̄ー ̄)ニヤリッ
おひさですー