bbs.cgi再開発プロジェクト6
■ このスレッドは過去ログ倉庫に格納されています
peko鯖の稼動によりボトルネックの一つである事がより明らかになった
bbs.cgi作り直しプロジェクトです。
【開発環境の工事現場】
また挑戦。@2ch掲示板 http://dso.2ch.net/myanmar/
また挑戦2。@2ch掲示板 http://dso.2ch.net/yangon/
関連スレなどは >>2-5 くらい >>45 っていうか,実際変更したのはこちらなので,むむむさんに謝らせてしまってすみません......
で,変更の意図としては,従来それぞれの Cookie の役割分担が不明確だったゆえに
http://qb5.2ch.net/test/read.cgi/operate/1169119433/597
のような問題があったため,それぞれの役割を明確化させた
(ポンは荒らし対策,鼻もげらは規約確認)ってことですね.
そこで,どうするのがいいのか,ってことですか......
1. 規約の承認はあくまで一定の期間内のみ効力を有するということにし,
その期間が満了するごとに再承認を求める.
2. いったん承認した場合は,規約の変更が生じるなどの事情がない限りは
承認の効力は継続することとし,その間は再承認を求めない.
まぁ 2. の場合でも,別途その規約の内容を記したページを作って
閲覧できるようにするなどした方がいいのかもですね. >>47
> むむむさんに謝らせてしまってすみません......
いやぁ、私も議論に参加して方向性出したわけで。
そんで、1. は >>45 ということですね。
2. は今の仕様というかんじなのかな。
毎回「法的投稿確認画面」が出るのは確かにややいまいちだと思うので、
さて、どうするのがいいのかなっていうかんじですね。
このへんはポリシー問題なので、どうするかの方針管理人から出たら
それをたんたんと実装に反映する、っていうかんじなんだろうなと。 ひろゆきには共著した著作権に詳しい弁護士が付いてるから心強いね。 >>43です。
ケータイモードだとなります。
何か改善の余地はないでしょうか(´・ω・`) >>52
bbs.cgiってのは書き込みする部分のプログラムのことだよ。
つまり、スレ違い。
Mozilla/3.0(WILLCOM;KYOCERA/WX310K/2;1.2.7.17.000000/0.1/C100) Opera 7.0 >>53
どこでお願いすればいいのでしょ。
誘導お願いします。
ゲー速でスレの選択出来なくないですか? read.htmlが、ユーザ環境やらURLの形式やらで思うような普及ができない昨今、
かつて辛酸を舐めさせられたあれに再び挑戦するときが来たんじゃないのか。
静的なhtmlファイルの作成という。 >>56 そういうのやるとすれば,read.cgi 出力をキャッシュさせるとかの方向かな.
んで,このところピーク時間帯に結構重くなる鯖も少なからず出てきてるようなんで,
bbs.cgi 軽量化の切り札第一弾(Rock54 データのプリコンパイル)も,
そろそろやるといいのかなぁ...... read.cgiもExpires吐いたりETagやらLast-Modifiedを吐いてIF-に304返すようにすれば
まだいけるような。既にやってるんだっけ? read.cgiのキャッシュの話ならread.cgiスレで。 html更新をサボる時は、書き込み完了メッセージに一緒に告知を表示できたりしませんか。 というか,Saborin が効いてる鯖あたりからぼちぼち入れますかねぇ......<bbsd
bbsd を使うと,Saborin しなくても Saborin 有効時並の負荷軽減効果が期待でき,
またサボるにしても一定のインターバルを指定できるのでいつまでも更新されないという状態も生じない,
そして鯖落ちなどの事態が発生しない限りは subject.txt が壊れることもまずない,ということで.
まぁ,雪だるま以外で本格稼働してる鯖に bbsd を導入するとなれば初のケースになるので,
多分に人柱的な面はあるかもですが. You!やっちゃいなよ!!
ちなみになんかあったらビシバシ叩くんでよろしく >>63
やりますか。
どのへんからいきますかね。 入れるとすると、、、。
・F22/F35/F15
・全復帰スクリプト
あたりも、対応が必要なのかしら。 >>66-67 どこからやるかは......適当に希望を募りつつ適当に決めるって感じで......
F15 / F22 はすでに対応済みですね(F35 には bbsd との連携が必要な処理は
入っていない模様)..htaccess 置いて環境変数を渡せばおkのはずと.
「全復帰スクリプト」ってのは,雪だるまで対処した各種呪文とは
また別の復帰スクリプトがあったんでしょうか......?
で,root 権なし鯖の場合は bbsd を rc スクリプトから立ち上げるとかできないんですが,
代わりに crontab に @reboot とか書いとけばいいのかな.
# 最近かなーり重いらしい banana3102, banana3127 あたりも候補かなぁと思ってたんですが,
# http://qb5.2ch.net/test/read.cgi/operate/1169173887/886 とかを鑑みると,
# そのあたりの鯖は他の面からの検証も必要なのかなぁ,とも...... >>68
> 「全復帰スクリプト」ってのは,雪だるまで対処した各種呪文とは
> また別の復帰スクリプトがあったんでしょうか......?
qb6のを見る限り、対応済みたいでした。
だいじょうぶっぽいかな。
> で,root 権なし鯖の場合は bbsd を rc スクリプトから立ち上げるとかできないんですが,
> 代わりに crontab に @reboot とか書いとけばいいのかな.
root権限ありサーバで試してみるとか、、、。
例えば最近いろいろと事件続きなのと、
人数ふくらみまくっているnews22/newsplusあたりとか。
http://sabo2.kakiko.com/bbspost/autoimg.cgi?bbs=newsplus
> # 最近かなーり重いらしい banana3102, banana3127 あたりも候補かなぁと思ってたんですが,
> # http://qb5.2ch.net/test/read.cgi/operate/1169173887/886 とかを鑑みると,
> # そのあたりの鯖は他の面からの検証も必要なのかなぁ,とも......
あまり見ていませんが、LAの上がり方がちょっと不自然かもとか思っていたり。
# というか、自分でも一台いただいたやつを仕立ててみればいいのか。
# 引越し関連が落ち着きつつあるので、そろそろかしら。 >>69
>例えば最近いろいろと事件続きなのと、
>人数ふくらみまくっているnews22/newsplusあたりとか。
なるほど......となると,まず news22 あたり -> そのあと >>65 あたりという流れですかね.
># というか、自分でも一台いただいたやつを仕立ててみればいいのか。
># 引越し関連が落ち着きつつあるので、そろそろかしら。
ですねぇ,↓ということになってますし.
http://qb5.2ch.net/test/read.cgi/operate/1174646479/1
>名人による調教をお願い。 news22 に bbsd 入れて crontab にも追加ー.
で,いつ切り替えるかな......
<メモ>
kern.ipc.maxsockbuf の値はナゼかそのまま SO_RCVBUF / SO_SNDBUF には
使えないので,使える値を探る方法:
sysctl kern.ipc.maxsockbuf | perl -we'use strict; use Socket; \
my $i = (split /: /, <>)[1]; chomp $i; socket S, PF_INET, SOCK_DGRAM, 0; \
$i-- while (not setsockopt S, SOL_SOCKET, SO_RCVBUF, $i); $\ = "\n"; \
print unpack "i", getsockopt S, SOL_SOCKET, SO_RCVBUF;'
</メモ> さて......やってみるかなー<bbsd@news22 >>73
おつです。
bbsd の -B1864135 って、どんな効果なんでしたっけ。 なるほど、rnvbuf (sndbuf) ですか。納得。>>74 >>75 そういうことですね.
で,切り替えた 13:30 付近から loadavg が下がってるようにも見えますが,
この時間を境にアクセスが減ったとかじゃなしに bbsd の効果ってことでいいのかな......
http://mumumu.mu/mrtg/mrtg-rrd.cgi/load/news22load.html news21、負荷急上昇に伴い緊急に雪だるま化しようと思ったけど、
なんかうまくいかなかったです(たぶん私のやり方が悪い)。
・bbsdを入れる(とりあえずnews22からコピー)
・起動する設定を入れる in crontab
・bbsdを手で起動する
・test/.htaccess を設定する
これだと、何か抜けがあるのかしら。 html/ の下を一度クリアしないとだめなのかな。
(なんか、index.htmlが変になったので)
すみませんが、いったん時間切れ。 bbsdと通常のbbs.cgiとではindex用のhtmlが違いますよね。
(外枠が無い)
そのままでも投稿があれば作り直されるし、
あらかじめ全部消してもいいでしょうし。 ニュース等をまだ見てない状態で最初に鯖負荷のグラフ見て,いったい何事かと思いきや......
>>77-79 makehtml を実行してもらえばおkですが,とりあえずこちらでやってみます. >>80
助かります & おながいします。
今本業で手が離せないんで。 おつでした。crontab とかもやったほうがいいのかしら。< news21 株主優待の場合も、?PLT(74072)とか出るようにするのって
難しいんですかね?
>>86 難しくはないと思いますが,それが意図的にそうなってたのか
そうじゃないのかが問題かなぁ...... >>86
せっかく報告してくれたν速●焼きですが狐がしてくれません
君やる気ない?
beじゃなくて株sakuってよ ■ 2ch証券取引所を作ろう★25
http://bubble6.2ch.net/test/read.cgi/2chse/1179558223/
このスレから誘導されて来たんですけど、
BE鯖が不調なとき、優待名無しで書きこんだのにBEがバレてしまうことがあるので、
これをbbs.cgi側でなんとかすることはできませんか?
BE鯖と通信ができなかったら書き込みエラーにするとか・・・ ■他人が見て面白いことを書こう
大勢の読者がいることを意識しましょう。
http://info.2ch.net/before.html
ばれるのがやな内容を書き込まれたら迷惑 >>89
# エラーチェック
if ($response->is_error)
{
my $code = $response->code();
&DispError2($GB, "ERROR!", "ERROR:Beユーザー情報の取得に失敗しました。($code)");
}
ってことで be 鯖がエラーの場合は書き込みエラーになりますね.むしろ
# エラーチェック
if ($response->is_error)
{
# 持ち株数がとれない時は0株とみなす
return 0;
# my $code = $response->code();
# &DispError2($GB, "ERROR!", "ERROR:持ち株情報の取得に失敗しました。($code)");
}
ということで,株鯖がエラーの場合にそうなるんじゃないかと.
で,書き込みエラーにする処理はコメントアウトされているので,
そうなるのは意図的ってことなのかなぁ...... >>94
試しに、そのコメントアウトを外してエラーにして欲しいんですが、どうでしょう?
不具合があれば戻すって感じで 優待は匿名でくだらないことをたくさん書く人のためにあるのではない >>95 「ドアを開けた人がその後の対処をする」ってのが基本のようなので,
その処理を組み込んだ人がいないと何とも...... >>97
そうなんですか?誰に頼めばいいんでしょうか >>86
逆に、
!kab:株名 で保有率表示の時にBe表示させないようにすることはできんのか?
-!kab:株名 みたいに 優待表示しつつ、名前欄は名無しってのが欲しいです。 >>86
そうしようと思った動機はなんですかね。
Beにログインしている以上、Be情報は常に表示すべきだってことなのかしら。 >>86
あれは優待の1機能として「Beを隠す」があるだけので、処理自体は
簡単だと思う。Beを隠さないで優待も出来るから。
確か、「Beが表示されたままだとコテみたいでうざがられる」な
話しがあってBe隠し機能が入れられた気がする。
>>102
もしくは優待使うなら公開でやれって話しかもですね。 >>103
>Beを隠さないで優待も出来るから。
優待使ったらbe表示されなくなるんですが…だから>>86なんでないですか? >>105
あれ?
と思ってテストしてみたら…確かにそうでしたorz
確か以前はBe表示も出来た時があったと思ったんだけどなあ? ・株主優待からもsakuするため
・beメールに要望が来たから訊いてみた
とかじゃね? で、よく見ると >>86 の引用されているポイント数って、
ひょっとして私のやつ、、、なのかしら。 rootさんのポイントは管理人に監視されています。
|∀・) >>86の真意はBeポイントを簡単にサクりたいのではないかと。 サクられるようなことしなきゃいいんだろ。
はやくbe表示できるようにしてくれ。 さて...... >>65 のに bbsd 入れてみますかねー.
ex21 は Saborin で HTML がなかなか更新されない状態,
wwwww は差分が発生しやすい状態,の解消をそれぞれ目指す,と...... ニュー速のsakuツールにはスクリプトからdatに書き出している
疑いがあり、導入拡大の際は注意されたし。 書き込みの多い wwwww では LA も相応に低下してる感じですね.
ちなみに,OS が 5.xR の news21, news22 ではシングルスレッドで動かしてますが,
6.xR の ex21, wwwww ではマルチスレッドで動かしてます.
>>119 言われてみるとそうですね.その時になったら,改めて対処法を考えましょうということで...... -lpthread じゃなくて -lthr だともっと幸せかも。< MT >>120
libmap.conf 書けばいいわけだけど、明にリンクすればおkかも。 >>121 そういえばそうでしたね<libpthread vs. libthr
ただ,コンパイル時には -pthread オプションを指定してたんですが,
libthr の場合にはどうするのがいいのかな(ライブラリをリンクする順番や
必要なマクロ定義などの関係上,スレッドライブラリは -l で直接指定するのは
非推奨のようなので.Solaris で -pthreads 指定すると _REENTRANT のような
マクロも自動的に定義されたりしますが,FreeBSD の場合は
こういうマクロ定義はいらないんでしたっけ).
ちなみに,こんな動きもあったようで.
http://lists.freebsd.org/pipermail/cvs-src/2007-May/078202.html
>Change the default thread library to libthr. で、>>86はどうなったの?
たにしがプチ優待までbe消せるようにしてるんですが… http://qb5.2ch.net/test/read.cgi/operate/1169173887/977
>bbs.cgi の foxDNSquery や foxDNSquery2 も、それにすると幸せなようかん。
の件ですが,
a. レスポンスが不要なもの
b. レスポンスが必要なもの
のうち,まず a. は話が早いんですよね.$res->query() を単純に $res->bgsend() に
置き換えた上で,戻り値チェックも何もせずに抜ければいいだけなので.
一方,b. の方はもうちょっと検討が必要ですね.非同期クエリーを行うことによる最大のメリットは,
レスポンスが返ってくるまでの待ち時間を利用して別の処理を進められることです.
そのメリットを享受するためには,DNS 問い合わせの処理を
1. クエリーを発行する
2. レスポンスをチェックする
の二つに分け,なおかつ 1. の処理をできるだけ前倒しし,2. の処理をできるだけ先送りする
のがいいんですね.となると,bbs.cgi 全体の処理の流れを再検討することから始めた方がいい,と. read.htmlがメモリーリークを起こしててプロセス終了まで開放されずにスワップしまくりの件は、
1)何それ初めて聞いた
2)I.E.ユーザーのことは後回しでいいよ
3)もうread.htmlには興味無いよ
4)調べたけど原因がわからないから仕様
5)原因がわかったけど直せないから仕様
6)原因がわかったけど面倒臭いから仕様
のいずれなんでしょうか。
雰囲気的にはdatを取ってくるオブジェクトが開放されていないような感じで、当該処理をしている窓を閉じてもプロセスが終了するまで確保したメモリーがそのまま残っています。
ざっと1回「リロード[Ctrl+r]」のリンクをクリックする毎にメモリー使用量が20〜30M前後増加し、その後何をしても減少しません。
ちなみにWin2k+IE6です。 >>126 自分で使っている Firefox もプロセスサイズが肥大化しやすい傾向があって,
read.cgi 使用時に比べて read.html 使用時はその肥大化のペースが結構速いんですが,
>ざっと1回「リロード[Ctrl+r]」のリンクをクリックする毎にメモリー使用量が20〜30M前後増加
1回のリロードでそこまで一気に増加することもないですし,
また Windows XP SP2 + IE 6 でも動作確認していましたが,
そこまでの急激な増加というのは見たことないですが......
ただ,IE 6 SP1 では↓のようなメモリリークのバグがあるそうなので,SP2 にしてみてはどうでしょうか.
http://support.microsoft.com/default.aspx?scid=kb;ja;890900
# read.cgi / read.html のことはスレ違いな気がするものの,
# 現状では read.cgi スレが落ちてるのでとりあえずここでレスしましたが,
# それでも動作報告スレとかの方がいいような気も. Windows2000のIE6.0にSP2は無いのにゃ。 Win2k ってもうサポート期間終了してたんでしたっけ?
だとすると,それはあきらめてもらうということで...... 「延長サポートフェーズ」ですか......ともあれ,
古いバージョンのブラウザにあるバグだし,
こちら側ではあえて対処しないということで. >>128-133了解しました。当面環境を変える予定は無いので、仕様として我慢して使います。
情報提供とご返事にお手数をかけて頂き有難う御座居ました。(ぺこり) >>57
→bbs.cgi 軽量化の切り札第一弾(Rock54 データのプリコンパイル)も,
→そろそろやるといいのかなぁ......
これってば、もしかして既に実施済み?
いやあのちょっぴり不具合みたいなのが出ているようでして(苦笑)
♯本体リストの方は大丈夫のもより♪ >>136
率直に具体的に云いますと、Rock54登録所では、いわゆる「さくら」がリストの最初に来るように番頭はんがソートしていまして、それを丁稚どんに取りに来て貰っています。
それをもしかしたらbbs.cgi船が出る時に再ソートしていないかなぁと思いましてして。 >>137 こんな感じなんで,bbs.cgi 側ではソートはしてないような......
if(open(ADFILE, 'Rock54DataFile'))
{
# @FOX_Ro54 = <ADFILE> ;
@FOX_Ro54 = map { eval {
no warnings;
my @a = (split /<>/)[5..7];
[qr/$a[0]/, @a[1..2]];
}; } <ADFILE>;
close(ADFILE) ;
} >>138
なぁるほど。。。
ってことは、evalで引っかかっちゃってる(qr//でミスコンパイル)のかぁ。。。
でもって鯖によって5.6系と5.8系が混在しているのも何かありそうな。perlreでもよく読んでみよう。。。 ■ このスレッドは過去ログ倉庫に格納されています