トップページ⇒tech
577コメント219KB

2ちゃんねる開発統合スレッド

■ このスレッドは過去ログ倉庫に格納されています
0001名無し娘。 ◆vP.bOZFQ 01/08/27 19:35ID:asPJm1Ug
現在、Unix板とプログラム板で2ちゃんねるの軽量化を果たすべく、
開発が行われています。
このスレッドでは、全体を横断する話題、各開発の連絡用に使用します。
個別の話題は以下の各スレッドでお願いします。

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

●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
0446デフォルトの名無しさんNGNG
>>445
俺のつたない知識からいくと、
・データにアクセスするために必要な、ディスクアクセス等さまざまな部分で
  彼らの長年にわたる知識を詰め合わせた最高の最適化を行っているため
  read.cgiなどに比べデータ読み出しの効率が非常に良くなることが予想できる
・データベースを利用するためのプロセスが常時一つ立ち上がりっぱなしになることが予想され
  (具体的にはjavaサーブレットとか)、プロセス起動&終了の手間(コスト)が
  かからなくなるので高速化される
・部分的に読み出したい場合なども適切なデータ構造を取っていればコスト無く可能

などでしょーか
0447デフォルトの名無しさんNGNG
>>429 本当に馬鹿だったんだな
http://pc2.2ch.net/test/read.cgi/php/1050607994/
0448デフォルトの名無しさんNGNG
>>447
どうせ、役立たずのラウンコ
0449デフォルトの名無しさんNGNG
>>447
放置で
0450デフォルトの名無しさんNGNG
あぼーんの位置さえわかれば全再取得しなくて済むんだけどな
0451デフォルトの名無しさんNGNG
つーか、負荷を減らしたいならマジでRDBにすればいいんじゃねーの?
0452デフォルトの名無しさんNGNG
たぶんデーモン動かす権限すらないよ。
かりもんのサーバだし。
0453デフォルトの名無しさんNGNG
>>404-408
0454デフォルトの名無しさんNGNG
インプリメントされているものは増やせない、減らせない、ルートも握れない、
という条件がほぼ確定なわけだから、その前提で考えないとね。
0455デフォルトの名無しさんNGNG
前回もその縛りだったからな
新機能もいいがすでにある機能をこれからread.cgi 5.26+に
再実装していくはずだからもう少しマシにできないものか
http://www.example.com/#.2ch.net/
こんなのとか
0456デフォルトの名無しさんNGNG
read.cgi を read.phpにすると・・・・どんなもんかね。
現状のリクエストごとにプロセスを起動するのと、
スクリプト処理ながらphpモジュール内でスレッド処理するのと
どっちが軽いんだろう。
0457デフォルトの名無しさんNGNG
JavaScript、案は面白いな。
一時的にテストで入れてみて、転送量が増えるかどうか試してみたらどうだろう?
0458デフォルトの名無しさんNGNG
テストするまでもなく転送量は増えるだろ……
0459デフォルトの名無しさんNGNG
>>456
それなら apache モジュール mod_2ch.c にした方が良くないか?
0460デフォルトの名無しさんNGNG
<script defer=defer><!--//
document.getElementsByTagName("BODY")[0].innerHTML=
document.getElementsByTagName("BODY")[0].innerHTML.replace(/デフォルトの名無しさん/g, "<br>hogehoge");
//--></script>
<body>
デフォルトの名無しさん<>sage<>01/09/10 19:21<> テストするまでもなく転送量は増えるだろ…… <>
デフォルトの名無しさん<>sage<>01/09/10 19:30<> >>456 <br> それなら apache モジュール mod_2ch.c にした方が良くないか? <>
</body>
どう考えても無謀だろ
0461デフォルトの名無しさんNGNG
dat→HTML変換処理を書いたJavaScript込みのHTMLを別に置いて、
それ経由で参照しに行くわけじゃないの?
datの1リクエスト毎にScript込みで送ってたら転送量増えるのは当然。
0462デフォルトの名無しさんNGNG
>>461
別の場所に置いても結局転送することに変わりはないんじゃない?
最新の書き込みが反映されなくなっちゃうし、差分読み込みはできないでしょ。
0463デフォルトの名無しさんNGNG
データ解凍と自動リンクとかをクライアント側でやらせて
鯖はただデータを送るだけっていう発想か
0464デフォルトの名無しさんNGNG
>>463
発想自体はmonazilla系ツールが既に実践していることだけど、特別なクライアント
ソフトをインストールさせることなく実現できないかと言う議論かと。
で、出てきた意見がブラウザ上でJavaScriptにやらせればってことだけど、まあ俺
にはいまいち方法が解ってないわけだが(w
0465デフォルトの名無しさんNGNG
結論はJavaScriptではdatを保存しておくことができないので
毎回すべて読みに行くことになるから転送量激増
0466デフォルトの名無しさんNGNG
転送量≠負荷なわけで
0467デフォルトの名無しさんNGNG
負荷も転送量も両方問題なのよ。単に現状負荷の優先度が
高いというだけでね。転送量が限界超えたらまた同時多発で
板閉鎖になるよ。2001年8月ショックみたいに。
0468デフォルトの名無しさんNGNG
>>461の案だけど、生のdatをread.cgi が直接送りつけて、表示変換だけ
JavaScriptでやるという手もなくはないかな。ただ、JavaScript切ってると
わけがわからないけどね。
0469デフォルトの名無しさんNGNG
google バーみたいに ActiveX のコンポーネントをインストールさせちゃえば?
0470デフォルトの名無しさんNGNG
>>469
それってIEプラグイン(ActiveX)の2ちゃんブラウザ作るってことだよね。
0471デフォルトの名無しさんNGNG
そやね。
Flash でも面白いかも。
ローカルのファイルにアクセスできるかどうか知らないけど。
0472デフォルトの名無しさんNGNG
>>470
monazillaにあった気がするな
0473デフォルトの名無しさんNGNG
>>468
なぜ生datをわざわざread.cgi通すんだ?
0474デフォルトの名無しさんNGNG
クライアントインストールでは本質的な解決じゃないと思うのだが……
というのも、たいていのユーザーはクライアントなんてインストールしない。

そうするとread.cgiを改良するか、JavaScript/JavaApplet/Flashによる
htmlの強制クライアント化が望ましいのだろうけれど、
JavaScriptは転送量の増大を生む。
AppletとFlashはインターフェース的に不評を買う可能性が高いし、
(知らずに)オフにしている人間は、一般ユーザーには結構多い。

とりあえず誰かが作ってくれるといいなぁ。Appletなら楽そう?
0475デフォルトの名無しさんNGNG
read.cgiの抜本的改良案もあるのかな?
実際に負荷のネックになっている部分がどこなのか、
サーバのCPU単位のプロファイリングをして貰いたいけれど無理だよね。

上のレスを参考にすると、gzipのテンポラリファイル作成時の負荷と、
read.cgiを呼び出しているときプロセス起動・終了の負荷が重いのかな。

何とかそれを根本的に解決できるアイデアはないものか。
0476デフォルトの名無しさんNGNG
>>468のアイデアは悪くないと思います。
>>473が「なぜ生datをわざわざread.cgi通すんだ?」と言っているけれど、

たとえばread.cgiが先頭に
<SCRIPT LANGUAGE="text/javascript(だっけ?)" src="http://www.2ch.net/read.js">
</SCRIPT>
みたいな出力をしましょう。そして本文はdatをちょっと手直しして、
JavaScriptで処理しやすい形で出力する。たとえば、
<div id="name_1">デフォルトの名無しさん</div><div id="mail_1">sage</div><div>...
みたいな形で。(divにはstyle="display:none"を入れておく必要があるね)

そして全部読み込まれたら、先頭で読み込んだJavaScriptがいつもの見慣れた形に整形して表示する。
この方法のメリットは、
・read.cgi自身の負荷は今より若干減る
・htmlの作成はクライアントで行うので、タグやリンクなどの転送量が激減
今概算で出してみたところ、現状のdatを利用するだけでも25%の転送量軽減を望める模様
(このスレの1〜100を使用、HTML62,243bytes、DAT45,561bytes)

現実的な軽量化ではありますね。
0477デフォルトの名無しさんNGNG
ちょっと>>476の整理を。
・read.cgiの出力をさらにJavaScriptにかけることで、HTML生成をクライアントに任せる
・read.cgiは整形HTMLを出力する必要が無くなり、転送量が25%程度減る可能性がある
・またgzipによって生じるコストも、転送量と比例して25%程度減る事が予想される
・HTML整形を行う外部JavaScriptは、ブラウザのキャッシュに入るので頻繁に転送されない
・JavaScriptを使用すれば、理論上は99%以上のブラウザで見た目を変えずに提供できる
・デメリットとしては、クライアントが少し重くなる事と、JavaScriptを切っていたら使えない事
0478デフォルトの名無しさんNGNG
しかもJavaScriptを頑張って作れば、下のサイトみたいなのをデフォルトに出来るね
http://members.tripod.co.jp/moe_story/test/t-4fzrxdrx4i.html

#例が悪くてすまん、俺は妹属性なので
0479デフォルトの名無しさんNGNG
あ。転送量の計算は、さらにgzipにかける必要があるな。
ノーマルzipでテストの結果、HTML13367byte、DAT11635byte。

12%の転送量削減。やる価値はあるかも。

ということで、みなさんの検討お願いします
0480デフォルトの名無しさんNGNG
>475
だから、根本的解決を図るには、サービスにするしかないのさ。
サービス(要は常駐して内部/外部からのリクエストに応える)にすると
最終的に負荷を一桁以上減らすことも可能だろ。

まず、fork/execのCGIプロセス関係の負荷を減らし、
.datの内容をキャッシュしてDiskI/Oの負荷を減らし、
圧縮した結果もキャッシュすることでCPUの負荷を減らし、
さらにはread.cgiのrawモードのように
専用ブラウザ用のインターフェースも内蔵すれば
こっちにもキャッシュする効果が出てくる。

ここまで(インターフェースを確定)して、専用ブラウザに普及すば、
.datファイルを公開せず、隠すことができる。
つまり、内部がservlet+DBでも全然かまわない、完全に自由になるわけさ。

サービスっつったって、何もhttpdを作れってわけじゃない。
apacheモジュールでも、mod_perlを利用したperlモジュールでも、
或いは他のモジュールを利用してもいい。
「リクエストの度に起動しない」「状態を保持し続ける」
この2点を満たせるならばどんな方法でもいい。

ただ、開発は力を合わせれば充分可能だけど、導入の方が難しい。
rootも無いし、成果物を好き勝手にいじれる事も求められるみたいだからね。
0481デフォルトの名無しさんNGNG
>476
read.cgiのソース覗いたことある?
read.cgiが出力を細工する負荷なんて微々たるものだ。
何度も繰り返されているが、負荷は
・プロセス
・I/O
・圧縮
この3点。

.datの内容をcgiで出力するなんて、現状は全く意味がない。
そもそも、read.cgiのrawモードが
「負荷が高くなりすぎる」という理由で非推奨となっている。
0482デフォルトの名無しさんNGNG
誰か夜勤とかひろゆきとか呼んできてよ
0483デフォルトの名無しさんNGNG
>>480
最後の2行がそれまでの全部を否定しているような?
0484デフォルトの名無しさんNGNG
>>481
476は負荷の話ではなくて、転送量の話。転送量も下がるに越したことはないでしょ?

負荷はどなたか頼みます。
0485デフォルトの名無しさんNGNG
>>481
転送料では意味あるだろ?
0486デフォルトの名無しさんNGNG
とりあえずageよう。
0487デフォルトの名無しさんNGNG
転送量じゃなくて転送料(金ね)の問題だったら●でなんとか
賄える気がするから減らすべきは負荷なのかな。
今は負荷分散のために●の売り上げで鯖が増えてるけど。
0488デフォルトの名無しさんNGNG
だから

負荷をあげて転送量をさげるために、2年前の8月、当時の全monazillaツールは
read.cgiのrawモードを利用してdatを取得する機能を取り入れた
(これなら圧縮も出来る)

今は使われていない

なぜか?

「負荷が上がりすぎるから使わないで欲しい」と言われたから
0489デフォルトの名無しさんNGNG
>>488
なんかはずれたことを言っていないか?
0490デフォルトの名無しさんNGNG
どうして?

read.cgiを使って転送量を減らそうとする限り
転送料と負荷はトレードオフの関係にあるでしょ。

いま最重要なのは負荷でしょ?
まさか人大杉って言葉聞いたことないとか言わないよね?
0491デフォルトの名無しさんNGNG
あ、ごめん、わかってなかったみたい。
説明すると

  たとえ転送量を多少減らすことが出来るとしても
  それに伴って負荷があがってしまうのであれば
  負荷が最重要である間は、採用される見込みは全く無い。

だから無意味なのさ。
0492デフォルトの名無しさんNGNG
>>490
違いますよ。よく476を読んでみて。
負荷を、読む人のクライアントマシンに(JavaScriptで)かけることにより
サーバの負荷と転送量両方とも減らす、という事です
0493デフォルトの名無しさんNGNG
どうしてもやってみたければ、既にある機能
http://pc2.2ch.net/test/read.cgi/tech/998908559/l10?raw=0
を使って試してみたら?
read.cgiを改変する必要があるとは思えないし。
0494デフォルトの名無しさんNGNG
493は勘違いしたまま?
468==476==>>477のアイデア、問題ないなら導入してもいいんじゃないか?
転送量12%オフってでかそう。
0495デフォルトの名無しさんNGNG
>492
わかってるよ。

JavaScriptでどうやって差分読み込みするか結論は出てるの?

差分でなければ全取得しかない
↓
だったらCGIで差分を転送させたら?

って流れだったから無駄と言ってるの。

それと、同一部分が多いHTMLは、圧縮すると.datと大きな差は出ないの。
これも昔に検証されてるよ。
もちろん、FORMやらの部分は違うけどね。

それと、負荷は1%も差が付くとは思えないけど。


俺が言いたいのは
最も重要なのは負荷で
負荷をかけている最大の要因がread.cgiなのだから
「read.cgiを使ってどうするか」ではなく
「できるだけread.cgiを使わないように」する事を考えるべけ
ってこと。
0496デフォルトの名無しさんNGNG
>>495
>それと、同一部分が多いHTMLは、圧縮すると.datと大きな差は出ないの。
>>479
0497デフォルトの名無しさんNGNG
>>495
負荷の話は同意です。これはもっと画期的なアイデアが必要そう。

圧縮は私が試したところ、>>479で書いたとおり12%の差が出る結論になりました。
転送量に12%の差が出るなら、やってもいいんじゃないかと思ったんですが。
0498デフォルトの名無しさんNGNG
うん。やってみる価値はあるとは思う。
無駄って言ったのは訂正する。ごめん。

圧縮後のサイズ比も、AAや長文の多いスレと一行レスの多い雑談系では違うし
>1と>>1の差も大きい(いくつ入ってるかで全然違う)。
負荷も、read.cgiは>>1の書き換え等でごちゃごちゃやってたりもするんで
数%程度は違うかも。

ただ、俺は>>480に書いたような根本的な対策が必要な時期に来ていると思ってるし
それが出来ないなら今まで通り●の金で延命を図る程度しかないかなと。

まあ、新しく設計から始める方が楽しいし
同じ時間を使うならそっち(導入手段を含め)を議論すべきだと思ってたんでね。
要は(俺が)やる気になれなかっただけってことで。
ほんとごめん。
0499デフォルトの名無しさんNGNG
read.cgi使う使わないの話なんだけどさ。
read.cgi止めてる場合は、TOPからのリンクを
htmlディレクトリ内のhtmlファイルにリンクするよう改造してくれ。
0500デフォルトの名無しさんNGNG
>>481
>・プロセス
read.cgi を使う限りつきまとう問題。主なCPU負荷。リクエストごとにプロセスの
生成・消滅が伴い、コストが高い。

>I/O
>圧縮
gzipが圧縮用のテンポラリファイルをディスクに作りに行くのでI/O負荷が高い。
圧縮はWEBサーバレベルでやっているので(もうread.cgi は圧縮してない)圧縮
に関する負荷はこれ以上どうにもならなそう。deflateも設定の関係か動かない
らしいので、ここらへんはどうにもならない?

ということで read.php を試してみる、が一番現実的っぽい。現状のCGI の代わ
りに、サーバにインストールされているPHP用のスクリプトを作るだけなんで。
ただ、ほんとに軽くなるのか?
0501デフォルトの名無しさんNGNG
とりあえず現実的な改良案として、

方法:read.cgiでデータを書き出し→JavaScriptで展開
効果:転送量を10%前後減らすことが出来る
欠点:ブラウザが少々重くなる&JavaScriptがオフなら動かない

が挙がりましたね

phpがもし駄目な場合、mod_perlじゃダメなのか?
mod_gzip使ってるんならmod_perlも入れてもらえそうだが。
そうすればプロセスのコストは気にしなくてすむぞ。

ところでさ、read.cgiでgzip圧縮をやってしまえば
テンポラリファイルを作るI/Oが無くなるんじゃないの?
0502デフォルトの名無しさんNGNG
>>498
気にされずに。労力を考えると無駄かもしれないし、
出来ることなら抜本的な構造改革(どこかで聞いたな)が必要でしょう。

そこで>>501でまた面白いアイデアが出てるし。
gzipの圧縮を、mod_gzipを通さずに自前でやるのは、かなりOKなのでは?
問題はテンポラリを作らずに圧縮することが可能かどうか、すなわち
(多少圧縮率を落としても)ある程度のバッファリングでgzip規格にのっとった圧縮が可能なのかどうか。

もしこれが出来ればDisk I/Oの問題の大部分は解決しますね。
興味のある人はgzipについて調べてみてください。お願いします。私は寝ます(笑
0503デフォルトの名無しさんNGNG
phpは一度試してみるべきだと思う。
ただし、ひろゆきと夜勤★を説得する必要あり。
夜勤★(とマァブ)あたりは「Cで書いたネイティブコードが最軽」と
思っている節がある。

・mod_perl
apache2鯖には入っている。
1年前の負荷問題の時に導入を勧めた(perlモジュールの可能性を含め)が
夜勤★の「誰がメンテするの?わたしはいやですよ」により拒否された。
また、ひろゆきがメモリリークを疑って躊躇している。
こちらはわしづかみくんスレ参照。

・read.cgiによる圧縮
個人的な意見だが
read.cgiによる圧縮部に不具合があるような気がする。
負荷問題時に入れたら、鯖落ちが頻発するようになった。
メモリの問題かもしれない。
そもそも、圧縮部がかなり無駄(無駄にコピーしてたりする)なので直したいのだが
夜勤★がread.cgiをclosedにして手許で変更しているので、手が出せない。
0504デフォルトの名無しさんNGNG
最大の問題は、こういった実際の開発作業をする人たちに
なんら報酬が支払われないシステムなのではないだろうか。
0505デフォルトの名無しさんNGNG
>>503
ROM ってたのですが、わしづかみくんスレ なるもののリンク先を
教えてもらえないでしょうか?
0506デフォルトの名無しさんNGNG
別に金なんていらないさ。今までよりもっと快適に遊べれば。
0507デフォルトの名無しさんNGNG
>505 全部HTML化待ちだった
http://pc.2ch.net/test/read.cgi/unix/1044204340/
http://pc.2ch.net/test/read.cgi/unix/1044210109/
http://pc.2ch.net/test/read.cgi/unix/1044371176/
0508デフォルトの名無しさんNGNG
ちなみにこれね。
http://pc.2ch.net/test/read.cgi/unix/1044371176/704

704 名前:ひろゆき ◆3SHRUNYAXA 投稿日:2003/2/12(水) 16:54
tcpserverだと、>690さんのような問題もあるわけで、、
tcpserverのようなことをするphpスクリプトormod_perlスクリプトを噛ませるってのは
どうなんでしょう?
ただ、mod_perlは、高負荷になるとメモリにゴミが溜まるようなので、
apacheを再起動しまくったりしなきゃいけないので、
あんまり採用したくなかったりします。
machibbsはmod_perlで動いてますが、早朝に再起動してます。
0509デフォルトの名無しさんNGNG
>>502
read.cgiのgzip圧縮機能はテンポラリファイルを生成しない。
もちろんmod_deflateも。
生成するのは単なるmod_gzipの都合。
0510505NGNG
>>507-508
すんません。うたた寝してました。

HTML化待ちでしたか。でも、どうもありがとうございます。
クライアントが取得する 2ch の実データはリダイレクトして
どっか別のところにないと、根本的にはサーバの負荷も
データ転送量もイタチゴッコのような気もしたのが現在の所感です。
0511aki ◆SvNaePrits NGNG
|-`).。oO(……。)チラ
0512デフォルトの名無しさんNGNG
read.cgiって、自前でmod_gzip通しているの??
0513デフォルトの名無しさんNGNG
あ、意味不明だった。read.cgiって、gzipの処理を自前でやってるの?
それともapacheのモジュールを利用しているの?
0514デフォルトの名無しさんNGNG
zlibを静的にリンクしてる
0515デフォルトの名無しさんNGNG
>>514
そいつがテンポラリファイルを作っているのかな?
ならその部分をテンポラリファイル作らない形に書き換えれば
確かにずいぶんと変わる気はするな。可能ならだが
0516デフォルトの名無しさんNGNG
ファイルは作ってない。
詳しくは>>611タンの http://2ch.nekoruri.jp/ からソースをどうぞ。
0517デフォルトの名無しさんNGNG
>>511だった。まあどうでもいいが。
0518デフォルトの名無しさんNGNG
じゃ、なんでmod_gzipがテンポラリファイルを作ることが
負荷になっているんだろう??
0519デフォルトの名無しさんNGNG
read.cgiのその部分は現在有効にされておらず
mod_gzip任せだから。
つーか少しは過去ログ嫁よ
0520デフォルトの名無しさんNGNG
過去ログ読んだんだけど、読解力が足りなかった。スマソ。
ってことは、自前でmod_gzipを作ればいいだけの話なんだな。
tech板の住民なら楽勝だろうけれど、ただでは絶対にやらないな
0521デフォルトの名無しさんNGNG
read.cgi で圧縮させるよりmod_gzipに任せたほうが軽くなるから
現状に落ち着いたんだと思うんだけど、認識間違ってる?
0522デフォルトの名無しさんNGNG
>>521
いや正しいです。

ただ、mod_gzipはテンポラリファイルを作成するらしく、
そのテンポラリファイルを作る際のI/Oコストが馬鹿にならないらしいです。

なので、テンポラリファイルを作らず負荷のかからない圧縮ルーチンを
自前で作成してしまえば(おそらくトレードオフとして圧縮率か負荷が必要でしょう)
I/Oの問題は解決します。

で、I/Oの問題が最重要なのであれば、そこで負荷を下げてはどうか…という話でした。
0523aki ◆SvNaePrits NGNG
>>522
それじゃ、mod_gzipを改良して、
テンポラリファイルではなくメモリ上でgzip圧縮結果を保存するようにしてください。
おそらく、mod_deflateが参考になるのではないかと。
もちろん、そのモジュールを鯖に入れることができるかという問題が別にあります。

ところで、負荷: mod_gzip < read.cgi/zlib のソースをどなたか教えてください。
gzipを呼び出してる大昔の版が遅いのは確かですが、
どうせキャッシュの効かないread.cgiの結果の場合、
apache moduleであるアドバンテージはそんなに無いように感じるのですが……。
0524デフォルトの名無しさんNGNG
>>523
だからおまえがやれって。なんでわざわざ無償で・・・
0525aki ◆SvNaePrits NGNG
無償とか訳わかんないこと言ってる香具師はこのスレに(・∀・)クルナ!!
0526デフォルトの名無しさんNGNG
>>525
無償とか言ってる奴はどうせ有償でもろくなもんは書けない奴だからスルーしとけ。
0527デフォルトの名無しさんNGNG
無償じゃやらないって言ってる奴って、
頭悪そうだし、仕組みについて全然理解してなさそうに見えるんだけど。
なんちゃってSEとかかな。
0528デフォルトの名無しさんNGNG
>523の後半
俺も、「mod_gzipが軽い」は「何となくそう思う」以外ないと思う。
少なくともheに頼んでmod_gzipを入れてもらう前は
index.html圧縮のトラブル防止が待たれていたってことと
read.cgi圧縮がmod_gzipに任せる前提になってたのが大きいかと。

ソース見てないけど、zlibのgzxxxx系がファイル読み書きしかできないから
mod_gzipがgzxxxxを使っているなら負荷がかかるのは当然かも。
一時期read.cgiによる圧縮を有効(最低圧縮率)にした頃の
動作報告スレや重い重いスレ等を見ると
実際に負荷は下がったっぽい。圧縮率の影響だけかもしれないけど。

何故read.cgiによる圧縮をやめたかは理由は不明。
鯖落ちとの因果関係も不明(cgiでapacheが落とせるのか?)だし、
bugがあってcoreを吐いてるのかもしれない。
0529デフォルトの名無しさんNGNG
>>528
read.cgi以外のindexとかsubbackとかのために
mod_gzipがやっぱり必要だから入れて貰った。
だからそのままread.cgiもmod_gzipにやってもらうようになった。

……という流れしか覚えてないんだけど、
もしかして、read.cgiはmod_gzip経由しないようにして
zlib圧縮を復活させればすむ問題だったりして。

もちろんindex.html等のGETにはmod_gzipのオーバヘッドが依然残るんだけど。
0530デフォルトの名無しさんNGNG
> index.html等のGETにはmod_gzipのオーバヘッド
ここの部分はちょっと違う。
index.htmlはbbs.cgi内部でindex.html.gzを作成している。
mod_gzipはindex.html.gzがある時はindex.htmlを全く探さずに
index.html.gzを返してくるようなので、オーバーヘッドは少ないと思う。

subback.htmlは当初更新毎に作ってたけど
今は.gzを作成してないかもしれない。subject.txt.gzも。鯖にもよるかな?
また、.dat(Rangeなし)は、mod_gzip導入直後は圧縮する設定になってたけど
負荷の問題で圧縮しないようになったはず(apache2鯖の設定は知らない)。
この辺は圧縮回数(bbs.cgi呼び出し回数)とGET回数とのバランスなので。

でも、結局、何がボトルネックなのか「〜らしい」って噂だけで
実際に数字が出てない(調査してない)から
どうするのが一番効果があるか、わかんないんだよね。
0531デフォルトの名無しさんNGNG
>>530
おっと、index.htmlは.gz作ってるのか。それは知らなんだ。

あと大きなパラメータはdatの圧縮をいつ行うかだとすれば、
やはりbbs.cgiやread.cgiの呼び出し回数に依存するし、
鯖毎に収容する板によっても割合が変わってくるかな。

さて、ここいらで巣に移動しますか?
0532デフォルトの名無しさんNGNG
2ちゃんねるのプログラムなどを書く人たちのモチベーションって何なの?
オープンソースは世の中に広く使われて、情報的インフラのような側面があるので
使命感などもかなり大きいと思うけれど、そんなのはないよね。
0533デフォルトの名無しさんNGNG
>>532
面白いから、かな。

read.cgi なんか 一日に何千万回も呼び出されるわけだし。
そんなコードに関われると考えただけで、駆り立てられる物がある。

あと、私は 2ch.net が好きだから。
使命感? そんな大きいモンじゃないよ。
0534デフォルトの名無しさんNGNG
少なくとも、今までに何かやってきた人にとって
金や名声でないことは確かだね。
0535デフォルトの名無しさんNGNG
>>533
参考になりますた。ありがとう。

俺は日曜プログラマだけど、なんとなく想像できなくもないかな。
アパッチのオープンソースなんかも同じく楽しそうだけど、
やっぱり日本語じゃなきゃ参加しづらいですよね。
0536デフォルトの名無しさんNGNG
自分が欲しいもんを作ってるだけだろ
少なくともオレはそうだ
0537デフォルトの名無しさんNGNG
apache2鯖に関してはmod_deflateを使うと言うことで解決に向かってる感じ。

■ 新しいサーバで read.cgi が正しく動かない問題。
http://qb.2ch.net/test/read.cgi/operate/1047840578/
0538デフォルトの名無しさんNGNG
たしかにそんな事言ってる。
http://jbbs.shitaraba.com/computer/bbs/read.cgi?BBS=2095&KEY=1051177958
0539デフォルトの名無しさんNGNG
(´-`).。oO(保守……。)
0540山崎渉NGNG
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
0541デフォルトの名無しさんNGNG
 wea eawwr
0542デフォルトの名無しさんNGNG
・・・JavaとJSの区別をつけられないほど初心者だったのか・・・
0543デフォルトの名無しさんNGNG
>>542
マァヴのことか?
0544デフォルトの名無しさんNGNG
日付/時間指定で新しいスレ一覧を取得できるように四手ほしい。
N速+とか見てるとどれが新しいスレなのかよくわからん
0545デフォルトの名無しさんNGNG
>>544
dat名でソートすれば
■ このスレッドは過去ログ倉庫に格納されています