X

read.cgi再開発スレ Part2

■ このスレッドは過去ログ倉庫に格納されています
1root▲ ★
垢版 |
05/01/17 06:11:01ID:???
◆cZfSunOs.Uさん作成のmod_cgidsoにより、大きな負荷軽減が図られたread.cgi。
このスレでは、そんなread.cgiの(再)開発・実装すべき機能について取り扱います。

前スレより:
574 名前:FOX ★[sage] 投稿日:05/01/05 15:54:28 ID:???
全てのサーバ cobra/toger/banana で read.cgi の dso化が完了。

これから href の置き換え ime.nu 対応を行い
それが終了したら第一ステップは完。

第2ステップは
2-1) bug つぶし
2-2) 仕様の変なところは変更
2-3) 時代背景にあわせたデコレーション

こんなとこかと、

前スレ:
read.cgi再開発スレ
http://qb5.2ch.net/test/read.cgi/operate/1087199303/
NGNG
キチンと
の定義がわからん
NGNG
>>112-114
index.htmlならbbs.cgiの担当ですね
05/02/01 16:49:09ID:CJVU7TWJ0
IEと比べて見た目が違うというなら却下だろうな。
理由は長くなるから略。lynxでみたら…、w3mでみたら…と同じ。
05/02/01 17:02:26ID:c8V+LU/j0
スタイルシートやめてテーブル&水平線にしとけばいいんでないの
05/02/02 13:00:24ID:5IqPJw6P0
>>117
てかIEと見た目が同じ気がするが…
05/02/02 15:06:36ID:S/ryrFKD0
rootチャソ、"UA無し"も中間に入れてヨウ。。。頼むヨォ。。。
121root▲ ★
垢版 |
05/02/02 15:11:34ID:???0
>>120
今UAなしだとどうなるんだっけ。
ちと試してみるか。
122root▲ ★
垢版 |
05/02/02 15:12:53ID:???0
ただ切れるのか。いまいちすね。
ちと、見てみます。

$ telnet qb5.2ch.net 80
Trying 206.223.147.230...
Connected to qb5.2ch.net.
Escape character is '^]'.
GET /test/read.cgi/operate/1105909861/ HTTP/1.1
Host: qb5.2ch.net

Connection closed by foreign host.
123root▲ ★
垢版 |
05/02/02 15:36:58ID:???0
UA無しもとりあえず許すようにした、、、けど、今後もそうするかは不明。
プログラムからぼこぼこ叩くのは、できるだけやめてほしかったりするかも。かも。

read.cgi ver 05.0.0.16 2005/02/02
05/02/02 17:52:40ID:O5nTMMBl0
>>121-123
あれ見えた!と思ってとんで来た!

どうもありかとう。
ぼこぼこ叩く様な香具師ってUA騙ったり、robots.txtシカトしたりしますよ、、、
なんか"hoge"とか出鱈目な UA 送っても繋がるのに、無しのときだけ繋がらないからオナガイしてみたの。
ありがと^^)ノシ
NGNG
昔の /test/read.cgi?bbs=??????&key=??????????
形式でスレを見ようとすると error 2002 になる件
05/02/03 21:00:55ID:3taFzfyA0
>>125
で?
05/02/03 21:08:27ID:Yd+FWibs0
昔の形式は廃止じゃなかったけ?
05/02/03 21:52:11ID:u9k9a3ET0
http://qb5.2ch.net/test/read.cgi/operate/1104218992/

こっちのスレで出たやつだね。
結論からすると>>127
05/02/03 22:05:15ID:tL9gzx8W0
古いログを読むときに面倒だから
bbs=とkey=だけでも実装して欲しいなー。
memoriesのread.cgiは旧仕様だから問題ないけど
過疎板だと結構古いスレが生きてたりするし。
05/02/03 23:53:01ID:Yd+FWibs0
そのへんは専ブラ使えってことじゃないのかね?
131動け動けウゴウゴ2ちゃんねる
垢版 |
05/02/04 00:49:21ID:gCMZqmQ10
http://be.2ch.net/test/read.cgi/be/1106303763/
IEで見るともうぐちゃぐちゃ、Beとの兼ね合いで
132root▲ ★
垢版 |
05/02/04 16:30:51ID:???0
memoriesの5.3Rへのバージョンアップ & read.cgi の mod_cgidso 化を
考えているわけですが、、、。

これを実現するには、旧形式をサポートしないと苦しいっすね。
さて、どうすべか。
133root▲ ★
垢版 |
05/02/04 16:31:24ID:???0
旧形式を積極的にサポートしない理由って、なんかあるんでしたっけ。
それとも単に、面倒だからやってないんだっけか。
05/02/04 16:37:45ID:LoYNwU7Z0
>>133
たしかFOX ★が面倒だとか使われてないとかで……


旧形式用にsubread.cgi …等と言ってみるテスト
05/02/04 16:45:20ID:OPuOusej0
>>134
旧形式だったかどうかの判定って難しいですかね
NGNG
QUERY_STRING を見る処理をとっぱらっちゃってるんでしょ
05/02/04 17:15:09ID:7A7qcmyI0
>>133
■ read.cgi(DSO味)の巻 part1 (2004/12/01-)
http://dso.2ch.net/test/read.cgi/myanmar/1101888913/27+59+61

この辺を見るに対応する予定は一応あるようです。
05/02/05 00:53:24ID:yrmuPTpJ0
mod_rewrite でできないこともないかな......

RewriteEngine On
RewriteBase /test
RewriteCond %{QUERY_STRING} ^bbs=(\w+)&key=(\d+)(&st=(\d+))?(&to=(\d+))?(&(n)ofirst=true)?
RewriteRule ^(.*/?read\.cgi) $1/%1/%2/%4-%6%8? [R=permanent]
139root▲ ★
垢版 |
05/02/05 01:18:07ID:???0
>>138
ひょー。

あとで、試してみるか、、、。
140root▲ ★
垢版 |
05/02/05 05:37:16ID:???0
必死に Options +FollowSymLinks +SymLinksIfOwnerMatch って書いても、

Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden: /home/ch2teri/public_html/test/read.cgi

と言われて、403 Forbiddenになりますね。
ううむ。
05/02/05 10:09:15ID:yrmuPTpJ0
>>140
    /home/ch2teri/public_html/.htaccess
    /home/ch2teri/public_html/test/.htaccess
の2つあって,下の方ので FollowSymLinks 等をクリアしてしまっているとか......?
ちなみに.>>138 のは下の方のに入れるのが前提になってまして,
もし上の方のに入れるなら RewriteBase は / にして下さい.
142root▲ ★
垢版 |
05/02/05 17:51:26ID:???0
>>141
test/.htaccess がありました。で、設定したら動きました。すみませんです。

で、teri.2ch.net に試しに入れてみましたが、どうも2つ問題があるみたいです。

1)なんか余計な - がつくみたい。(mod_rewrite側の問題?)

☆ 質問でも雑談でもOKのスレッド 2 ☆
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=1000047608

が、

http://teri.2ch.net/test/read.cgi/accuse/1000047608/-

になります。

(続き)
143root▲ ★
垢版 |
05/02/05 17:52:59ID:???0
(続き)

2)999999999以前の倉庫形式に対応していない。(read.cgiの問題)

curry鯖重すぎます。
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=996593101

のように、999999999以前の倉庫だと「隊長!過去ログ倉庫で…」にならずに、
error 3001 - datが存在しません。削除されたかURL間違ってますよ。
になるようです。

これは、

・999999999以前の倉庫形式

curry鯖重すぎます。
http://teri.2ch.net/accuse/kako/996/996593101.html

・1000000000以降の倉庫形式

☆ 質問でも雑談でもOKのスレッド 2 ☆
http://teri.2ch.net/accuse/kako/1000/10000/1000047608.html

の、ディレクトリ構造が違うためかなと。

これからちとおでかけなので、teriの設定はいったん元に戻しておきます。
144ピロリ
垢版 |
05/02/05 18:41:13ID:mh5dglk80
私の意見

何もしないのが吉かと、
145root▲ ★
垢版 |
05/02/05 20:48:38ID:???0
今memoriesに入っているやつは当分、旧版のread.cgiで動かすってことすか。
まぁ、特に困ってないですしね。
優先度はそんなに高くないかなと。
05/02/06 00:08:02ID:8vvhh6i/0
>>142
>1)なんか余計な - がつくみたい。(mod_rewrite側の問題?)

まぁ mod_rewrite を使った対処は苦肉の策ではありますからね.
- があっても一応表示されるならそれでいいか,って感じではあったんですが,
他にも QUERY_STRING でのパラメータの並び順が変わると対応できないとか
限界はあったりします.結論的に >>144-145 のような方針ならそれもいいかな,と.
147ピロリ
垢版 |
05/02/10 13:49:19ID:5efqv5SM0
と思ったけど
過去ログ用だから「過去ログにありました」って表示するだけだったりする?
148root▲ ★
垢版 |
05/02/10 13:53:28ID:???0
>>147
…ですね。あるいは「過去ログ倉庫にもありませんでした」を表示で。
149ピロリ
垢版 |
05/02/10 13:57:09ID:5efqv5SM0
ちなみに
teri だけ実験用に .so 仕様の read.cgi にする事出来ますか?
150root▲ ★
垢版 |
05/02/10 13:58:42ID:???0
>>149
できます。やっておきましょ。
amd64なので、live8から持ってきてくださいです。
151ピロリ
垢版 |
05/02/10 13:59:40ID:5efqv5SM0
はいはいー
152ピロリ
垢版 |
05/02/10 14:00:51ID:5efqv5SM0
read.cgi@teri は当面工事中ということで
153root▲ ★
垢版 |
05/02/10 14:04:37ID:???0
done. >>150

動作確認用。IE without 壷で。

明日はどうなる?働け!ひろゆき ★Part25★
http://teri.2ch.net/test/read.cgi/accuse/1000216844/
154ピロリ
垢版 |
05/02/10 14:08:58ID:5efqv5SM0
http://teri.2ch.net/test/read.cgi/accuse/1000216844/
これはこの動作でいいのかな?

http://teri.2ch.net/test/read.cgi?bbs=accuse&key=996593101
あとはこれをごにょごにょすればいいのかな?
155root▲ ★
垢版 |
05/02/10 14:12:53ID:???0
>>154
> これはこの動作でいいのかな?

よいと思います。

> あとはこれをごにょごにょすればいいのかな?

はい、あと念のためですが、

http://teri.2ch.net/test/read.cgi?bbs=accuse&key=1000216844

もですね。
1000000000以上になってからもしばらく旧形式は使われていたんで。
156ピロリ
垢版 |
05/02/10 14:14:47ID:5efqv5SM0
旧形式というと

<> でないやつか、、、
頭がクリアなときにでもがんばって見ます
(最近は monce a month だったり)
157root▲ ★
垢版 |
05/02/10 14:20:21ID:???0
>>156
おぉ。「teriタイプ」でないやつですね。
そういうことじゃなくて、PATH_INFOじゃないやつってつもりでした。

# このへんは私もあとづけ知識なんで、詳しくないのです。
158ピロリ
垢版 |
05/02/11 15:45:54ID:afI88eDc0
まずは
2002をなんとかしてみた
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=1000216844

これでok か?

あと <> で無いやつのURL見つけたら
出てきたときに何とかする方向で
159ピロリ
垢版 |
05/02/11 16:32:54ID:afI88eDc0
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=996593101

これはまだ動いていないようです

9xxx 代に対応せねば、
05/02/11 16:44:04ID:IpxSxvQt0
>>158
bbs= と key= を逆にすると
http://teri.2ch.net/test/read.cgi?key=1000216844&bbs=accuse

2ちゃんねる error 8102
error 8102 番のメッセージはなににすればいい?
161ピロリ
垢版 |
05/02/11 16:46:30ID:afI88eDc0
おおっ
162ピロリ
垢版 |
05/02/11 16:49:24ID:afI88eDc0
なおしたー
163動け動けウゴウゴ2ちゃんねる
垢版 |
05/02/12 17:02:09ID:4/NGMAdPO
死んだ?
05/02/12 22:25:12ID:S5WlT5Bz0
やあ
165動け動けウゴウゴ2ちゃんねる
垢版 |
05/02/12 22:26:29ID:nUV+3n/x0
っこんにちわ

さようなら
166動け動けウゴウゴ2ちゃんねる
垢版 |
05/02/12 22:27:03ID:jH5KqMBY0
開発頑張って下さい。
応援してます。
167動け動けウゴウゴ2ちゃんねる
垢版 |
05/02/16 21:35:55ID:c4jtTcRo0
レスアンカーの飛び先がスレ移転前のアドレスのままになる不具合
http://comic5.2ch.net/test/read.cgi/anichara/1100865159/
05/02/16 22:08:02ID:4bTZKHAk0
>>167
なにがどう移転したのか分かりません
169動け動けウゴウゴ2ちゃんねる
垢版 |
05/02/16 22:23:18ID:KqOl6lli0
ブラウザを立ち上げなおしてみてください。←これうざい
05/02/16 22:29:12ID:UnP5BdiS0
エロイのは排除されてるんだっけ
05/02/16 22:30:26ID:UnP5BdiS0
誤爆(*´ω`*)
172動け動けウゴウゴ2ちゃんねる
垢版 |
05/02/17 22:57:20ID:FMCXP6tk0
>>168
>1のアンカー飛び先がスレ移転前の板のアドレスのまま
http://comic5.2ch.net/test/read.cgi/anichara2/1100865159/2-10
05/02/17 23:38:26ID:lTEainrd0
>>172
ああ、なるほど。わかりました。

◎datファイルの記述
<a href="../test/read.cgi/anichara2/1100865159/2-10" target="_blank">>>2-10</a>

◎read.cgiの出力するHTMLの記述
<a href="../test/read.cgi/anichara2/1100865159/2-10" target="_blank">>>2-10</a>

read.cgiでは全く手を加えていないわけです。ということはbbs.cgiなんですが、これって対応できるのかなあ
05/02/18 16:59:06ID:vC9VYm/q0
datに書いちゃってるんだ

あと話し変わるけど950超えと1000越えの文字背景色変えて欲しいと思ったり
05/02/19 06:21:16ID:5BadgKKm0
携帯→2ch運用情報スレッド16
http://qb5.2ch.net/test/read.cgi/operate/1106813751/655-
↑この問題read.cgiも対応しないですか。
05/02/19 11:48:10ID:atxVVkPl0
以前のバージョンは、この手の問題はほぼ全てつぶしてあったんだけどね
177動け動けウゴウゴ2ちゃんねる
垢版 |
05/02/21 03:20:20ID:mgbe9cm20
URLのハイパーリンクの際”|”が認識されない不具合
http://qb5.2ch.net/test/read.cgi/operate/1108435073/392
178root▲ ★
垢版 |
05/02/21 06:03:05ID:???0
>>177
RFC 3986 的に | ってURIに使えるんだっけか。
05/02/21 09:02:56ID:hPTvpJQm0
>>178
できないんなら「%7C」へ変換してしまえばすむ話かと
NGNG
いや、しちゃまずかろう
181ピロリ
垢版 |
05/02/21 18:18:03ID:/RhNYuDM0
なんか変なの?
05/02/22 13:49:07ID:c8ZkzWjZ0
off-topic ですが......

http://qb5.2ch.net/test/read.cgi/operate/1087199303/488-490n
>488 名前: FOX ★ 投稿日: 05/01/03 23:08:41 ID:???
>  ちなみに modcgi_dso のホームページってどこなんですか? >>485
>  リンクしようかと、
>
>489 名前: ◆cZfSunOs.U 投稿日: 05/01/03 23:12:22 ID:yt/ZsWUR
>  >>488 現状ではないです.作るなら 2ch Wiki あたりにとか......
>
>490 名前: FOX ★ 投稿日: 05/01/03 23:16:50 ID:???
>  りょうかいですー
>  static なページを作ってそこにリンクしておこう
>  奮戦気あたりをぼちぼち書いて、

ってことでしたが,未だ

http://server.maido3.com/dso/
>準備中。。。

なので,当方で作ってみますた.

http://sunos.saita.ma/mod_cgidso.html
http://sunos.saita.ma/2ch-cgi-lw.html
05/02/22 16:56:41ID:3HVacWlj0
>>182
乙です。

というわけでwiki改変しますー
05/02/22 17:08:11ID:3HVacWlj0
>>183
まちがってbbs.cgiを先にやってしまいました。
編集ページが満杯なのでしばしお待ちをw
05/02/22 20:19:18ID:TskbzbHN0
つ▲









ゴメンナサイ冗談です
05/02/23 02:32:28ID:Io8oZQOt0
一番下の所の「DSO(Dynamic Shared Object)」のリンクは変更しないの?
187root▲ ★
垢版 |
05/02/23 02:49:10ID:???0
>>182
おぉー、簡潔かつすばらしいです。
05/02/23 07:56:37ID:S+k+pDxJ0
まぁ,リンクの変更はよろしければお願いします,ということで......


で,こういう形での Web 公開に併せてモジュールのコード見直しも行ったんですが,
mod_cgidso では今まで dso_main() からの戻り値を単純に捨てていたのを
意味を持たせるように変更しました.あまり大きな変更ではないので
直ちにではなくてもいいですが,Apache のバージョンアップなどの際に
ついでに mod_cgidso の方も更新をお願いします.

で,その変更に伴う影響ですが,dso_main() からの戻り値が 0 である限り
挙動に変化はありません.もっとも,0 という数値を直接指定ではなく

    return OK;

のように,OK というマクロ定義を用いるようにしてもらった方がいいですが.
一方,例えば http://dso.2ch.net/test/read.cgi/myanmar/1101888913/54
で言われているようなリダイレクトをする際には

    apr_table_setn(r->headers_out, "Location", "/new-URL/");
    return HTTP_MOVED_PERMANENTLY;

のように行えるようになる,ということです.
189ピロリ
垢版 |
05/02/23 13:32:02ID:0y8qCBXm0
おおっ
05/02/23 13:48:01ID:/kNCKw430
>>189
*「あたらしい モジュールを いれますか?

→はい
 いいえ
191root▲ ★
垢版 |
05/02/23 17:11:39ID:???0
>>188
どもです。あのページから最新版とれるんでしたっけ。
05/02/23 17:31:00ID:/kNCKw430
>>191
dsoページの一番下にありますよー
05/02/23 19:40:44ID:D7NrvLyM0
read.cgiとかをオープンソース化してほすぃ。。。
05/02/23 20:30:00ID:S+k+pDxJ0
>>191 どもです.192 さん仰せのように取れますです.
195root▲ ★
垢版 |
05/02/26 23:19:00ID:???0
というわけで、memories関連はこちらで。

■ read.cgi@memories のDSO化 (part1)
http://qb5.2ch.net/test/read.cgi/operate/1109427188/
196ピロリ
垢版 |
05/03/14 00:35:55ID:iYqDrHMS0
read.cgi@dso を LA(LOad Average)=1.0 以上の場合
read.cgi を「人大杉」表示にした

これでどれくらいの効果があるかわからないがテストしてみよう。
1.0 の値は 10.0 くらいが妥当か? @banana
でも tiger もあるしな・・・

read.cgi 内で Banana/Tiger/Cobra の区別はどうやって見るんだ?
197root▲ ★
垢版 |
05/03/14 00:39:45ID:???0
移動、了解。

今、LA=1以上だと人大杉すか。
198ピロリ
垢版 |
05/03/14 00:39:55ID:iYqDrHMS0
Tiger/Banana/Cobra の自動判定は
そのうちということで
今回はソースに埋め込んでみよう

Tiger/Cobra = 20.00
Banana = 5.00

あたりがリミッタかな?
05/03/14 00:42:55ID:qzCrFiuO0
   ,   _ ノ)
  γ∞γ~  \  ハニャン
  |  / 从从) )
  ヽ | | l  l |〃   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  `从ハ~_ーノ) ∬< ピロリさん、rootさん、お茶どぞー♪
     つ旦__))つ旦 \_____________
200ピロリ
垢版 |
05/03/14 00:49:33ID:iYqDrHMS0
実験するです

banana = 4.0
tiger/cobra = 10.00

ではじめます
201root▲ ★
垢版 |
05/03/14 00:50:05ID:???0
>>198
ex7(tiger503)とlive系(oyster901 = live8 / tiger507 = live16は実験中なので、リミッターなしをきぼんぬ。
あとは、そんなところだと思います。
202root▲ ★
垢版 |
05/03/14 00:50:30ID:???0
>>200
それは、さすがに少なすぎっす、、、。
203ピロリ
垢版 |
05/03/14 00:52:34ID:iYqDrHMS0
少なくしないと実験にならないです
これでも今の時間だとでれも人大杉にならないような

実際に負荷が上がって
人大杉になって自力で解除になる

というのが実現できたら意味のあることだったと言うことですなぁ
204root▲ ★
垢版 |
05/03/14 00:54:31ID:???0
>>203
ふむ。

さすがにex7は、人大杉になったようで。
205root▲ ★
垢版 |
05/03/14 00:55:03ID:???0
効果絶大ですね。@ ex7
load averages: 11.90, 23.87, 27.27
206ピロリ
垢版 |
05/03/14 00:56:15ID:iYqDrHMS0
ほほぅ

ホントに効果絶大だ、、、
私も ex7 観察してたっす
207root▲ ★
垢版 |
05/03/14 00:56:42ID:???0
NTVのニートの番組が終わったせいかもしれないけど、今10切ったですね。@ ex7

load averages: 8.13, 19.76, 25.39
208root▲ ★
垢版 |
05/03/14 00:57:28ID:???0
ってことは、読み手と書き手を分断できるだけで、軽く倍は出るってことすかね。
209ピロリ
垢版 |
05/03/14 01:02:38ID:iYqDrHMS0
>>208
さすがに予想は難しいなぁ

Banana 4.0
Tiger 20.0
実験サーバ(live16,ex7,live8) 200.0

にするっす
210root▲ ★
垢版 |
05/03/14 01:10:17ID:???0
>>209
了解です。< 設定値
05/03/14 08:45:04ID:ZUvFJHJc0
Tiger / Banana / Cobra の自動判定より,httpd.conf か .htaccess で

    SetEnv ReadCgiLoadAvgLimit 10

のように設定するのが簡単で,設定変更も柔軟にできるのではないでしょうか.
read.cgi ではこのような感じで.

    double loadavg;
    const char *loadavglimit;

    getloadavg(&loadavg, 1);
    loadavglimit = apr_table_get(r->subprocess_env, "ReadCgiLoadAvgLimit");
    if (loadavglimit && loadavg >= atof(loadavglimit)) {
        apr_table_setn(r->err_headers_out, "X-Load-Avg",
                       apr_psprintf(r->pool, "%.2f (Limit = %s)", loadavg, loadavglimit));
        return HTTP_SERVICE_UNAVAILABLE;
    }


あと,read.cgi そのものを軽くするということでは,Last-Modified チェック + mod_mem_cache
http://dso.2ch.net/test/read.cgi/myanmar/1101888913/64-68n
が実運用でどの程度効果があるかも見てみたいところです.
212ピロリ
垢版 |
05/03/14 22:06:44ID:F+LBf+bG0
>>211
そですねぇ
そんな感じにしますかねぇ

music4 の負荷が順調に上がってきている
発動するかも、
213ピロリ
垢版 |
05/03/14 23:40:29ID:F+LBf+bG0
某板がうるさいので
ex7 , live16 も 再導入
214ピロリ
垢版 |
05/03/14 23:41:22ID:F+LBf+bG0
閾値 12
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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