peko作戦について語るスレです。
サーバロケーションPIEに関する話題もこちらで。
現在の主要なテーマはpeko/cobraおよびtigerサーバが
特定条件下における突然死の原因究明です。
9月にrootさんが現地へ渡米して作業するそうです。
<関連サイト>
レンタルサーバー maido3.com 2ちゃんねるの転送量: http://server.maido3.com/pie/
MRTGによる統計情報: http://mumumu.mu/mrtg/
2ちゃんねる/PINKちゃんねる 稼動中のサーバ一覧: http://mumumu.mu/serverlist.html
<運営板PINKちゃんねる関係>
【Project ama】PINKちゃんねる特化型サーバ構築作戦 Part2
http://qb5.2ch.net/test/read.cgi/operate/1082721809/l50
【PINKちゃんねる】新サーバ獲得会議☆3
http://qb5.2ch.net/test/read.cgi/operate/1080295660/l50
<携帯電話特化型サーバ構築作戦関係>
【Love Affair】携帯からのアクセスに対する考察・次の一手 Part2
http://qb5.2ch.net/test/read.cgi/operate/1088657713/l50
<前スレ>
【Project peko】2ch特化型サーバ・ロケーション構築作戦 Part14
http://qb5.2ch.net/test/read.cgi/operate/1087666806/l50
探検
【Project peko】2ch特化型サーバ・ロケーション構築作戦 Part15
■ このスレッドは過去ログ倉庫に格納されています
1▲:/usr/local/bin/ch2 -o i686 ◆P8fXJj6wwo
04/08/21 15:04ID:hJLR4nfQ606root▲ ★
04/11/26 00:02:46ID:??? bbs.cgiの1行目を、
#!/usr/local/bin/speedy
に変更した。
#!/usr/local/bin/speedy
に変更した。
608留守番 ★
04/11/26 00:04:22ID:??? どんどん LAが・・・
611root▲ ★
04/11/26 00:06:19ID:??? つまり、LA=30とか50とかでは、どってことないってころです。< この時間のex7
04/11/26 00:09:44ID:+llSYnHe
mod_perl化のための一歩
・exit()をApache::exit()でオーバーライド
・exit()をApache::exit()でオーバーライド
614root▲ ★
04/11/26 00:10:08ID:??? ですね。500エラーの原因をつかむ必要がありそう。
615root▲ ★
04/11/26 00:11:33ID:??? 今Apache起動しなおしました。LAが一時的に上がるです。
617root▲ ★
04/11/26 00:17:02ID:??? [Thu Nov 25 07:14:22 2004] [error] [client 219.197.196.67] Premature end of script headers: bbs.cgi, referer: http://ex7.2ch.net/test/read.cgi/morningcoffee/1101308600/l50
って言うなぁ。< speedyに食わせると
って言うなぁ。< speedyに食わせると
618root▲ ★
04/11/26 00:18:37ID:??? ちょっと、簡単なスクリプトで試してみるです。
619root▲ ★
04/11/26 00:21:09ID:??? http://ex7.2ch.net/test/mod_speedycgi/mod_perl_test.cgi
動くみたいだなぁ。
(mod_perl_testとなってますが、speedycgiで実行してます)
動くみたいだなぁ。
(mod_perl_testとなってますが、speedycgiで実行してます)
620未承諾広告※ ◆TWARamEjuA
04/11/26 00:21:17ID:76OGEP8i >>617
use CGI::Carp qw(fatalsToBrowser);
を入れると、エラーの実態が表示されるので参考になるかと。
ただし、その部分のソースコードも表示されるのでゴニョゴニョ
use CGI::Carp qw(fatalsToBrowser);
を入れると、エラーの実態が表示されるので参考になるかと。
ただし、その部分のソースコードも表示されるのでゴニョゴニョ
622未承諾広告※ ◆TWARamEjuA
04/11/26 00:26:42ID:76OGEP8i >>621
とりあえず、正しいhttpdレスポンスを吐き出していないかと思いますです(苦笑)>ぷりめちゃーなんたら
とりあえず、正しいhttpdレスポンスを吐き出していないかと思いますです(苦笑)>ぷりめちゃーなんたら
04/11/26 00:29:44ID:XVDEKJVQ
#!/usr/bin/speedy -r10000
use strict;
use warnings;
use sigtrap;
...
use strict;
use warnings;
use sigtrap;
...
624root▲ ★
04/11/26 00:32:32ID:??? <IfModule mod_speedycgi.c>
<IfModule>
で囲んじゃ、だめとわかたです。
囲まなければ、1行目を変えなくてもspeedyで起動する(で、500エラー)。
<IfModule>
で囲んじゃ、だめとわかたです。
囲まなければ、1行目を変えなくてもspeedyで起動する(で、500エラー)。
625root▲ ★
04/11/26 00:37:08ID:??? MaxRuns 0
ではなくて、
SpeedyMaxRuns 0
だったとわかったです。
ちなみに上記でも500エラー。
あとは、500エラーの原因は何か、と。
ではなくて、
SpeedyMaxRuns 0
だったとわかったです。
ちなみに上記でも500エラー。
あとは、500エラーの原因は何か、と。
626未承諾広告※ ◆TWARamEjuA
04/11/26 00:38:13ID:76OGEP8i んぢゃ、cp bbs.cgi ナンタラbbs.cgi で複製を作って、 use CGI::Carp qw(fatalsToBrowser); 入れちゃうとか(^-^;)
でもってそろそろ眠m(_ _)m
でもってそろそろ眠m(_ _)m
627root▲ ★
04/11/26 00:40:49ID:??? で、さらに、
<IfModule mod_speedycgi.c>
ではなくて、
<IfModule mod_speedycgi2.c>
だとわかった。
あとは、500エラーの原因さえわかれば。
<IfModule mod_speedycgi.c>
ではなくて、
<IfModule mod_speedycgi2.c>
だとわかった。
あとは、500エラーの原因さえわかれば。
04/11/26 00:43:25ID:XVDEKJVQ
exit使ったらだめとか
04/11/26 01:03:27ID:QmFQtdHo
順番にやっていけばいいかと
前提:perlccによる実行形式を削除
1) 1行目を変えるのみ&MaxRunsを1にする(-- -r1)
2) MaxRunsを指定しない
3) mod_speedycgiを使ってみる
前提:perlccによる実行形式を削除
1) 1行目を変えるのみ&MaxRunsを1にする(-- -r1)
2) MaxRunsを指定しない
3) mod_speedycgiを使ってみる
630root▲ ★
04/11/26 01:08:35ID:??? -- -r1 があたりのもより。
631root▲ ★
04/11/26 01:10:42ID:??? 動いたもより。
632root▲ ★
04/11/26 01:12:38ID:??? 今の設定
LoadModule speedycgi_module libexec/apache2/mod_speedycgi.so
<IfModule mod_speedycgi2.c>
SpeedyMaxRuns 1
</IfModule>
で、
<IfModule mod_speedycgi2.c>
<Files bbs.cgi>
SetHandler speedycgi-script
</Files>
</IfModule>
に設定。
これで、元bbs.cgiをいじることなく、bbs.cgiだけspeedycgi配下に。
LoadModule speedycgi_module libexec/apache2/mod_speedycgi.so
<IfModule mod_speedycgi2.c>
SpeedyMaxRuns 1
</IfModule>
で、
<IfModule mod_speedycgi2.c>
<Files bbs.cgi>
SetHandler speedycgi-script
</Files>
</IfModule>
に設定。
これで、元bbs.cgiをいじることなく、bbs.cgiだけspeedycgi配下に。
633root▲ ★
04/11/26 01:13:01ID:??? みるみるLAがさかってゆく、、、。< ex7
634root▲ ★
04/11/26 01:16:05ID:??? うそみたいに軽くなった。
これで、しばらくようすをみてみよう。
これで、しばらくようすをみてみよう。
635root▲ ★
04/11/26 01:25:18ID:??? でもこれだと、毎回起動はしてる、、、だよなぁ、たぶん。
どのくらい効果があるかは、しばらく観察ということで、
ごはんたべてきます。
从o^ー^从御飯喰
http://ex7.2ch.net/test/read.cgi/morningcoffee/1101210350/
どのくらい効果があるかは、しばらく観察ということで、
ごはんたべてきます。
从o^ー^从御飯喰
http://ex7.2ch.net/test/read.cgi/morningcoffee/1101210350/
04/11/26 01:26:30ID:+llSYnHe
たとえ-r1だとしても、バイトコンパイルのキャッシュが効くとか?
04/11/26 01:29:05ID:760svNOj
>>635
静かに楽しそうでなんかうれしいよ
静かに楽しそうでなんかうれしいよ
04/11/26 01:30:58ID:+llSYnHe
もしかして$ENV{'QUERY_STRING'}でパラメータを渡しているところが初期化ルーチンの最初だけとかじゃ無い?
環境変数を渡すタイミングが初期化時だけだとハマりどころかも。
環境変数を渡すタイミングが初期化時だけだとハマりどころかも。
04/11/26 01:34:09ID:+llSYnHe
あとexit前に
%Hoge = ();
みたいな感じで消去しとかないと-r1じゃないと動かないスクリプトになるという肝。
%Hoge = ();
みたいな感じで消去しとかないと-r1じゃないと動かないスクリプトになるという肝。
641名無し募集中。。。
04/11/26 02:05:26ID:QmFQtdHo よかったよかった
642从o^ー.^从御飯喰
04/11/26 02:07:05ID:ww4C5adr >>640
ガンガレー。
ガンガレー。
643root▲ ★
04/11/26 02:38:22ID:??? speedy_backendのゴミプロセスが残っていたようなので、それらをkillして、
SpeedyTimeout 60
を追加して、httpdを立ち上げなおした。
SpeedyTimeout 60
を追加して、httpdを立ち上げなおした。
644root▲ ★
04/11/26 12:43:04ID:??? emの問題の続き
stable(RELENG_5)には、対応するするbugfix入りました。
Tue Nov 23 22:28:40 2004 UTC (2 days, 5 hours ago) by rwatson
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/em/if_em.c?rev=1.44.2.4&content-type=text/x-cvsweb-markup
今度の RELENG_5_3 candidate は反映されるのかな。
stable(RELENG_5)には、対応するするbugfix入りました。
Tue Nov 23 22:28:40 2004 UTC (2 days, 5 hours ago) by rwatson
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/em/if_em.c?rev=1.44.2.4&content-type=text/x-cvsweb-markup
今度の RELENG_5_3 candidate は反映されるのかな。
645root▲ ★
04/11/26 12:43:33ID:??? お、するするって。
ま、いっか。
ま、いっか。
646root▲ ★
04/11/26 16:11:18ID:??? >>632 の設定する場合、
いうまでもなく、SuExecをやめないとだめでした。
つまり、
User ch2live16
Group ch2
とかにしないとだめ。
# いきなり(たぶん)ファイルロックかからなくって、ぐわわと重くなり、リブート、、、。
いうまでもなく、SuExecをやめないとだめでした。
つまり、
User ch2live16
Group ch2
とかにしないとだめ。
# いきなり(たぶん)ファイルロックかからなくって、ぐわわと重くなり、リブート、、、。
647root▲ ★
04/11/26 16:12:12ID:??? で、1行目を変える方法(#!/usr/bin/perl → #!/usr/local/bin/speedy -- -r1 -t60)なら、
SuExec配下になるので、従来どおりで問題ないと。
SuExec配下になるので、従来どおりで問題ないと。
648root▲ ★
04/11/26 16:17:34ID:??? あ、もちろんその場合は、
#SuexecUserGroup ch2live16 ch2
は、上記のようにコメントアウトで。
#SuexecUserGroup ch2live16 ch2
は、上記のようにコメントアウトで。
649root▲ ★
04/11/26 16:43:40ID:??? ex7見ると、、、。
56485 ch2ex7 131 0 4320K 3680K RUN 0 69:32 68.70% 68.70% speedy_back
96829 ch2ex7 131 0 4316K 3680K RUN 2 184:26 67.48% 67.48% speedy_back
59449 ch2ex7 131 0 4320K 3684K RUN 0 64:19 66.99% 66.99% speedy_back
なんか、ぼそってるすね。例のbbs.cgiぼそり現象がそのままきてるのか。
うーん。
そっか、RLimitCPUとか、moduleにすると効かなくなるのね。
Apache側でlimitかけてやらんと、だめなわけね。
設定しよう。
しかし、実際に動かしてみないと、わからんことばかり。
56485 ch2ex7 131 0 4320K 3680K RUN 0 69:32 68.70% 68.70% speedy_back
96829 ch2ex7 131 0 4316K 3680K RUN 2 184:26 67.48% 67.48% speedy_back
59449 ch2ex7 131 0 4320K 3684K RUN 0 64:19 66.99% 66.99% speedy_back
なんか、ぼそってるすね。例のbbs.cgiぼそり現象がそのままきてるのか。
うーん。
そっか、RLimitCPUとか、moduleにすると効かなくなるのね。
Apache側でlimitかけてやらんと、だめなわけね。
設定しよう。
しかし、実際に動かしてみないと、わからんことばかり。
650root▲ ★
04/11/26 17:00:10ID:??? apache2limits_enable="YES"
apache2limits_args="-e -t 60"
を/etc/rc.confに入れて、Apache再起動でいいのかな。
とりあえず、ex7にて。
apache2limits_args="-e -t 60"
を/etc/rc.confに入れて、Apache再起動でいいのかな。
とりあえず、ex7にて。
652root▲ ★
04/11/26 19:31:55ID:??? やっぱ、ぼそるすね。
16551 ch2ex7 127 0 4320K 3688K CPU2 1 9:37 96.14% 96.14% speedy_back
しかたないすね、、、。/etc/login.conf をいじろう。
16551 ch2ex7 127 0 4320K 3688K CPU2 1 9:37 96.14% 96.14% speedy_back
しかたないすね、、、。/etc/login.conf をいじろう。
653root▲ ★
04/11/26 19:34:51ID:??? ~/.login_conf でいいのかな。
655root▲ ★
04/11/26 19:49:29ID:??? /etc/login.confに、
# for limiting www user
www:\
<TAB>:cputime=60:\
<TAB>:tc=default:
を足して、
cap_mkdb /etc/login.conf
を実行し、
apache2limits_enable="YES"
apache2limits_args="-e -C www"
を/etc/rc.confに設定して、apacheをrestartした。
# for limiting www user
www:\
<TAB>:cputime=60:\
<TAB>:tc=default:
を足して、
cap_mkdb /etc/login.conf
を実行し、
apache2limits_enable="YES"
apache2limits_args="-e -C www"
を/etc/rc.confに設定して、apacheをrestartした。
656root▲ ★
04/11/26 20:02:30ID:???04/11/26 22:48:32ID:er77ECMM
portsからapahce2を入れていれば
/usr/local/etc/rc.d/apache2.shを読めばわかるが、
上記スクリプトapahce2.shからrc.confを舐めることになっている。
PORTNAME= apache
PORTVERSION= 2.0.52
PORTREVISION= 3
/usr/local/etc/rc.d/apache2.shを読めばわかるが、
上記スクリプトapahce2.shからrc.confを舐めることになっている。
PORTNAME= apache
PORTVERSION= 2.0.52
PORTREVISION= 3
659root▲ ★
04/11/26 23:49:13ID:??? リミッターが効かないことでex7の怪我が大きくなったので、
リミッターが効く方法(CGI経由での呼び出し)にスイッチ。
具体的には、ex7のbbs.cgiの1行目を、
#!/usr/bin/perl
から、
#!/usr/local/bin/speedy -- -r1 -t60
に変更。
リミッターが効く方法(CGI経由での呼び出し)にスイッチ。
具体的には、ex7のbbs.cgiの1行目を、
#!/usr/bin/perl
から、
#!/usr/local/bin/speedy -- -r1 -t60
に変更。
661root▲ ★
04/11/27 00:08:35ID:??? live8は、SuExecをやめる工事だけ実施。
bbs.cgiは、perlccもの。
bbs.cgiは、perlccもの。
662root▲ ★
04/11/27 02:03:06ID:??? tiger503 ex7 済み
tiger504 game10 済み
tiger505 news18 済み
tiger506 game9 済み
tiger507 live16 済み
tiger508 live17 済み
tiger509 news19 済み
tiger510 hobby7 済み
というわけで、掲示板のあるtigerはすべてバージョンアップ完了しました。
あとはぼちぼち、blackgoatをやるかな。
すいてる時間にかたっぽずつやれば、たぶんサービス止めないでいけるかと。
tiger504 game10 済み
tiger505 news18 済み
tiger506 game9 済み
tiger507 live16 済み
tiger508 live17 済み
tiger509 news19 済み
tiger510 hobby7 済み
というわけで、掲示板のあるtigerはすべてバージョンアップ完了しました。
あとはぼちぼち、blackgoatをやるかな。
すいてる時間にかたっぽずつやれば、たぶんサービス止めないでいけるかと。
663root▲ ★
04/11/27 02:25:57ID:??? ex7 の様子を見る限りでは、>>659-660 の方法でも、それなりに効果あるのかも。
今日はちょっと夜11時前に事件があったんで、明日にはわかるのかなと。
今日はちょっと夜11時前に事件があったんで、明日にはわかるのかなと。
04/11/27 03:25:28ID:phbRWfIc
いいお湯でしたか!少しは疲れがとれましたか?
いつもお疲れ様です。
孤独な作業、そして皆が2ちゃんを気持ち良く利用できるように日々努力していただき、ありがとうございます。
がんばってください。
何も出来ないけど、応援しています。
いつもお疲れ様です。
孤独な作業、そして皆が2ちゃんを気持ち良く利用できるように日々努力していただき、ありがとうございます。
がんばってください。
何も出来ないけど、応援しています。
04/11/27 03:30:24ID:WB7ufKyC
667さぼてん ★
04/11/27 03:32:42ID:??? ああっ、FOX ★さんがっ(; ・`д・´)
04/11/27 03:33:22ID:phbRWfIc
04/11/27 03:35:08ID:W2DDXiu7
い
い
孤 ← 「 狐 」 じゃないぞ
が
何
い
孤 ← 「 狐 」 じゃないぞ
が
何
04/11/27 03:35:30ID:IVgveZrz
http://server.maido3.com/pie/
ここの画像読み込めないの漏れだけ?
ここの画像読み込めないの漏れだけ?
04/11/27 03:38:02ID:phbRWfIc
>>665
でも、FOX ★さんのあちらこちらでの縦横無尽のご活躍も凄いって思っています。
無理なさらないでください。
皆さんのこうした努力があって、この2ちゃんが快適に楽しめるんですね。
ありがとうございます。
でも、FOX ★さんのあちらこちらでの縦横無尽のご活躍も凄いって思っています。
無理なさらないでください。
皆さんのこうした努力があって、この2ちゃんが快適に楽しめるんですね。
ありがとうございます。
672root▲ ★
04/11/27 03:41:34ID:??? FOXさんは、私の何倍も、何十倍も、すごい人ですから。(す)
04/11/27 03:45:34ID:phbRWfIc
674暇人 ◆Ot/0qjZV1U
04/11/27 13:48:44ID:KsuWs9ki root▲さんの俺様メモを見ていると昔EWSの管理者だった頃の事を思い出す。。。
campas noteを何冊埋めたことか・・・
campas noteを何冊埋めたことか・・・
04/11/27 20:00:29ID:bf71RFOw
ここをROMってlogとって、経過を読むと実地の鯖運用記録として使えます。
本にならないかなぁ。
FOX&root▲ ★の、動け動けウゴウゴServer構築運営管理ガイド。
萌え萌えUnixネットワーク管理ガイド風に、お二方をキャラ化して、David氏が黒いメガネ…
本にならないかなぁ。
FOX&root▲ ★の、動け動けウゴウゴServer構築運営管理ガイド。
萌え萌えUnixネットワーク管理ガイド風に、お二方をキャラ化して、David氏が黒いメガネ…
676動け動けウゴウゴ2ちゃんねる
04/11/28 00:10:57ID:T1uf0Euu04/11/28 00:14:08ID:0AntKse3
678外野ァァン
04/11/28 00:34:29ID:vuce9di8 rootくんが2chの鯖管理で培って来た技術を本にして皆に広めてもらいたい
1年毎くらいで毎年発行とかで
1年毎くらいで毎年発行とかで
04/11/28 00:46:40ID:RMWC37tv
04/11/28 00:49:27ID:dNaxnc2p
なんで買ってもないのに、電車男の形式という発言が出てくるんだ?
04/11/28 00:57:45ID:XmL7gbvC
電車男は本買わなくてもまとめサイトで読めるよ。
04/11/28 01:05:14ID:/D+EzXgT
ほとんどそのまま、まとめサイトをそのまま紙面に移しただけ、
ですもんね。>電車男
ですもんね。>電車男
04/11/28 01:08:10ID:dNaxnc2p
いや、それは知っていたけど、実物見ずに発言したということか。
スレ汚しすまそですた。
スレ汚しすまそですた。
04/11/28 02:20:57ID:z7o1Lb+5
3,800円でも売れそうだ。
04/11/28 07:20:40ID:EeQjWdeU
こいつあやしいなっていう解説本が出るかもしれないし、
出ないかもしれないってだけのことだろ。
出ないかもしれないってだけのことだろ。
686▲:/usr/local/bin/ch2 -o i686 ◆P8fXJj6wwo
04/11/28 09:35:09ID:x71ihadu >>682
ネットでただで手に入るがインストールCDも売っているFreeBSDと同じなわけかw
ネットでただで手に入るがインストールCDも売っているFreeBSDと同じなわけかw
04/11/28 12:13:13ID:qcdX3zbG
厳密には、ネットだと通信費かかるけどな〜。
今は定額制が主流になってきたので、あまり意識しなくなったけど。
今は定額制が主流になってきたので、あまり意識しなくなったけど。
688root▲ ★
04/11/28 14:54:04ID:??? 本すか。
流れのままに、って感じすかね。
何らかの方法で何かを残したいな、とは思ったりするです。
しかし、実際に出すとなるとなかなか大変だったり。
# ジャパンカップダート @ ex7は微風だった模様。
流れのままに、って感じすかね。
何らかの方法で何かを残したいな、とは思ったりするです。
しかし、実際に出すとなるとなかなか大変だったり。
# ジャパンカップダート @ ex7は微風だった模様。
689root▲ ★
04/11/28 18:20:27ID:??? すべてのtigerサーバに、
ex7/live16/live17と同じ呪文を入れた。
・SuExecを無効化し、直接ch2XXXXユーザでhttpdを起動 => CGI起動を少しでも軽く
・bbs.cgiをSpeedyCGI化
ex7/live16/live17と同じ呪文を入れた。
・SuExecを無効化し、直接ch2XXXXユーザでhttpdを起動 => CGI起動を少しでも軽く
・bbs.cgiをSpeedyCGI化
690root▲ ★
04/11/28 18:57:59ID:??? 現状のまとめ
cobra (oyster901 = live8)
・SuExecなし、httpdを掲示板オーナのUIDで直接起動
・perlcc版bbs.cgi
・httpd数896
・httpdはアイドル時も全数待機
tiger (tiger503 - tiger510 = ex7 game10 news18 game9 live16 live17 news19 hobby7)
・SuExecなし、httpdを掲示板オーナのUIDで直接起動
・SpeedyCGI版bbs.cgi
・SpeedyCGIは#!/usr/local/bin/speedy -- -r1 -t60 で起動
・httpd数784
・httpdはアイドル時も全数待機
cobra (oyster901 = live8)
・SuExecなし、httpdを掲示板オーナのUIDで直接起動
・perlcc版bbs.cgi
・httpd数896
・httpdはアイドル時も全数待機
tiger (tiger503 - tiger510 = ex7 game10 news18 game9 live16 live17 news19 hobby7)
・SuExecなし、httpdを掲示板オーナのUIDで直接起動
・SpeedyCGI版bbs.cgi
・SpeedyCGIは#!/usr/local/bin/speedy -- -r1 -t60 で起動
・httpd数784
・httpdはアイドル時も全数待機
691FOX ★
04/11/28 22:37:01ID:??? 質問です
1) SpeedyCGIはPerlを高速化するものですか?
2) bbs.cgi or bbs.cgi がrequire しているファイルが更新されたとき
何かしなければいけませんか?
1) SpeedyCGIはPerlを高速化するものですか?
2) bbs.cgi or bbs.cgi がrequire しているファイルが更新されたとき
何かしなければいけませんか?
04/11/28 22:51:37ID:6IOqzKJj
1)Perlのプロセス起動をへらすので結果的に
2)再読み込みが必要なのでapachectl graceful
2)再読み込みが必要なのでapachectl graceful
693root▲ ★
04/11/29 00:27:26ID:??? >>691
ちと長くなるので、別々に答えます。
まず結論から。
1) Yes
動作原理は後述します。
2) 現在の2chの運用形態なら、bbs.cgiの配布・保守形態は現在のままでよい
2-1)親bbs.cgiがrequireしているファイル、
例えばbbs.cgi主処理部(頻繁に変更される方)が
更新された場合は、特に何もする必要はありません。
なぜかというと、現在の2ちゃんねるでのSpeedyCGIの運用形態が
「バックエンドエンジン毎回起動モード(-r1)」だからです。
理由は後述します。
2-2)親bbs.cgiそのものが更新された場合は、>>659にあるように、
bbs.cgiの1行目を#!/usr/bin/perlから
#!/usr/local/bin/speedy -- -r1 -t60に変更する必要があります。
ただし、急いで変更しなくてもSpeedyCGIのパフォーマンスにならないだけで、
従来のPerlのパフォーマンスで動き続けるため、運用にすぐに支障が出るわけではありません。
現状、親bbs.cgiにはめったに更新がかからないため、
親bbs.cgiに変更がかかったのを私が知ったら、その都度作業するというポリシーで、
当面はいけると考えています。
# というか、想定質問っす(w。
## 後述は、めしくってから書きます。
ちと長くなるので、別々に答えます。
まず結論から。
1) Yes
動作原理は後述します。
2) 現在の2chの運用形態なら、bbs.cgiの配布・保守形態は現在のままでよい
2-1)親bbs.cgiがrequireしているファイル、
例えばbbs.cgi主処理部(頻繁に変更される方)が
更新された場合は、特に何もする必要はありません。
なぜかというと、現在の2ちゃんねるでのSpeedyCGIの運用形態が
「バックエンドエンジン毎回起動モード(-r1)」だからです。
理由は後述します。
2-2)親bbs.cgiそのものが更新された場合は、>>659にあるように、
bbs.cgiの1行目を#!/usr/bin/perlから
#!/usr/local/bin/speedy -- -r1 -t60に変更する必要があります。
ただし、急いで変更しなくてもSpeedyCGIのパフォーマンスにならないだけで、
従来のPerlのパフォーマンスで動き続けるため、運用にすぐに支障が出るわけではありません。
現状、親bbs.cgiにはめったに更新がかからないため、
親bbs.cgiに変更がかかったのを私が知ったら、その都度作業するというポリシーで、
当面はいけると考えています。
# というか、想定質問っす(w。
## 後述は、めしくってから書きます。
694root▲ ★
04/11/29 00:28:38ID:??? ちなみに、bbs.cgi主処理部が更新された場合に
ちゃんとそれが即座に反映されることは、実地に確認してありますです。はい。
ちゃんとそれが即座に反映されることは、実地に確認してありますです。はい。
695FOX ★
04/11/29 00:50:19ID:??? bbs.cgi がこれによってかなり美味い具合になってきたとすると、
もう一つほとんど更新されないcgiがあるわけですが、
そっちはどのような方針がいいんですかね?
1) Perl にして同様にSpeedy化する。
2) C のまま、Apache のモジュール化する。
2) の方が効果があると思ってはいますが、
実は 1) でも 2) の90% くらいの効果が望めるので 2) にするとか?
read.cgi ですが、
もう一つほとんど更新されないcgiがあるわけですが、
そっちはどのような方針がいいんですかね?
1) Perl にして同様にSpeedy化する。
2) C のまま、Apache のモジュール化する。
2) の方が効果があると思ってはいますが、
実は 1) でも 2) の90% くらいの効果が望めるので 2) にするとか?
read.cgi ですが、
696root▲ ★
04/11/29 00:58:31ID:??? 今既にCで書いてあるもので、かつコンパクトなプログラムなので、
私は 2) がよいと考えていますです。
めざす方向は、mod_readがいいなと。
1)にして効果を上げる(SpeedyCGIの本来のパワーを発揮させる)ためには、
それなりにきちんと(Per作法l的に)プログラミングする必要があるようです。
今のbbs.cgiはいわば「SpeedyCGIを使ううまみの1割も使っていない」状況です。
それも、あわせて後述を。
私は 2) がよいと考えていますです。
めざす方向は、mod_readがいいなと。
1)にして効果を上げる(SpeedyCGIの本来のパワーを発揮させる)ためには、
それなりにきちんと(Per作法l的に)プログラミングする必要があるようです。
今のbbs.cgiはいわば「SpeedyCGIを使ううまみの1割も使っていない」状況です。
それも、あわせて後述を。
697FOX ★
04/11/29 01:00:06ID:??? んじゃ 若さの暴走ということで
mod_read に挑戦してみますかー
と、
mod_read に挑戦してみますかー
と、
698root▲ ★
04/11/29 01:44:09ID:??? 以下はにわか勉強なので、間違い・不足な点はご指摘いただけるとたすかります ]
・SpeedyCGIの動作原理
SpeedyCGIは、フロントエンド部とバックエンドエンジンに分かれています。
フロントエンドは、ApacheモジュールまたはCGIプログラム(/usr/local/bin/speedy)として呼ばれます。
フロントエンドはバックエンドエンジンがいなければ起動し、Perlプログラムをプロセス間通信で
バックエンドエンジンに渡します。
バックエンドエンジンはPerlプログラムを*実行前に*コンパイルし、できた中間コードをメモリ上に展開し、
それを実行します。
つまり、Perlをインタプリタで実行せず、コンパイル後のバイナリを実行するようになるため、
その分実行が高速になります(効果1)。
その後、デフォルトではバックエンドエンジン側の処理が終わっても、
コンパイル後のバイナリコードは開放されることなくバックエンドプロセスのメモリ上に残り、
次に同じプログラムのリクエストをフロントエンドから受けた場合、
cgiプログラムが更新されていなければ
(ここで本体cgiの時間をチェックし、更新されていれば自動的に再読み込み&再コンパイル)、
同じバイナリコードを、そのまま再利用します。
つまりデフォルトでは、2回目以降はバックエンドエンジンの再起動なし、
再コンパイルなしでそのままバイナリコードが動きます。
ということで、動作がとても高速になります(効果2)。
しかし、この場合Perl側でコードの再利用(主に変数関連)を考慮した、
行儀の良いコードを書く必要があるため、
場合によっては、Perlプログラム側を行儀の良い形に書き直す必要が出てきます。
で、bbs.cgiは残念ながらこれに該当したため、デフォルトの状態では動かなかった。
(続く)
・SpeedyCGIの動作原理
SpeedyCGIは、フロントエンド部とバックエンドエンジンに分かれています。
フロントエンドは、ApacheモジュールまたはCGIプログラム(/usr/local/bin/speedy)として呼ばれます。
フロントエンドはバックエンドエンジンがいなければ起動し、Perlプログラムをプロセス間通信で
バックエンドエンジンに渡します。
バックエンドエンジンはPerlプログラムを*実行前に*コンパイルし、できた中間コードをメモリ上に展開し、
それを実行します。
つまり、Perlをインタプリタで実行せず、コンパイル後のバイナリを実行するようになるため、
その分実行が高速になります(効果1)。
その後、デフォルトではバックエンドエンジン側の処理が終わっても、
コンパイル後のバイナリコードは開放されることなくバックエンドプロセスのメモリ上に残り、
次に同じプログラムのリクエストをフロントエンドから受けた場合、
cgiプログラムが更新されていなければ
(ここで本体cgiの時間をチェックし、更新されていれば自動的に再読み込み&再コンパイル)、
同じバイナリコードを、そのまま再利用します。
つまりデフォルトでは、2回目以降はバックエンドエンジンの再起動なし、
再コンパイルなしでそのままバイナリコードが動きます。
ということで、動作がとても高速になります(効果2)。
しかし、この場合Perl側でコードの再利用(主に変数関連)を考慮した、
行儀の良いコードを書く必要があるため、
場合によっては、Perlプログラム側を行儀の良い形に書き直す必要が出てきます。
で、bbs.cgiは残念ながらこれに該当したため、デフォルトの状態では動かなかった。
(続く)
699root▲ ★
04/11/29 01:47:30ID:??? (続き)
これを避けるために、SpeedyCGIのオプションとして、
バックエンドエンジンの再起動インターバルを指定することができるようになっています。
これが、#!/usr/local/bin/speedy -- -r1 -t60 の -r1 のところです。
ここで1を指定してあるため、1回ごと(つまりフロントエンドが起動されるたびに、毎回)、
バックエンドエンジンを起動しなおすことになります。
つまり、上記の(効果2)を捨てることになるわけです。
これを避けるために、SpeedyCGIのオプションとして、
バックエンドエンジンの再起動インターバルを指定することができるようになっています。
これが、#!/usr/local/bin/speedy -- -r1 -t60 の -r1 のところです。
ここで1を指定してあるため、1回ごと(つまりフロントエンドが起動されるたびに、毎回)、
バックエンドエンジンを起動しなおすことになります。
つまり、上記の(効果2)を捨てることになるわけです。
700root▲ ★
04/11/29 01:50:02ID:??? といったところが、SpeedyCGIの私の理解です。
で、量産型bananaにもSpeedyCGIを入れていただけると、
全部のマシンのbbs.cgiを
#!/usr/local/bin/speedy -- -r1 -t60
にできるので、bbs.cgiの管理が楽になったりするです。
>>697
おおっっ。
で、量産型bananaにもSpeedyCGIを入れていただけると、
全部のマシンのbbs.cgiを
#!/usr/local/bin/speedy -- -r1 -t60
にできるので、bbs.cgiの管理が楽になったりするです。
>>697
おおっっ。
701FOX ★
04/11/29 01:51:38ID:??? もったいなかと、
702root▲ ★
04/11/29 01:52:50ID:??? なお、デフォルトのモードの場合、requireしているほうの子供Perlプログラムが更新された場合には、
自動的には更新を検知できないため、
その場合には >>692 にあるようにApacheをリセットするか、
親cgiをtouchする必要があります。
# 2ちゃんねるの場合「毎回起動モード」なので、たまたましなくてもいいと。
自動的には更新を検知できないため、
その場合には >>692 にあるようにApacheをリセットするか、
親cgiをtouchする必要があります。
# 2ちゃんねるの場合「毎回起動モード」なので、たまたましなくてもいいと。
703root▲ ★
04/11/29 01:54:19ID:???704FOX ★
04/11/29 02:03:21ID:??? >>703
気分が盛り上がっているので
先に read.cgi に挑戦したいなと、
read.cgi再開発スレ
http://qb5.2ch.net/test/read.cgi/operate/1087199303/
気分が盛り上がっているので
先に read.cgi に挑戦したいなと、
read.cgi再開発スレ
http://qb5.2ch.net/test/read.cgi/operate/1087199303/
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- ゼレンスキー大統領「平和実現するなら大統領を辞任する用意」 [少考さん★]
- 「マジでどうかしている」モーターショーに華を添える女性コンパニオンに批判の声、本人が“猛反論”も紛糾 [少考さん★]
- 【ドイツ】「極右」AfD、連邦議会で第2党確実に 総選挙で現地報道 [nita★]
- 【ワクチン】日本では高収入、高資産、正規雇用の人ほど新型コロナの陰謀論を信じる人が多い傾向 [七波羅探題★]
- 【社会】単身者の老後に不安「手厚いサポート」望む声 2050年には単独世帯数が44.3%へ [七波羅探題★]
- 【教育】全て小中学生ともに、苦手な教科1位「算数・数学」、大差付け2位「英語」、5教科以外だと「体育」…なお一番人気は「社会」 [デビルゾア★]
- 🇯🇵「日本人の血税を年400億円投入している国際宇宙ステーションで"日本酒"を作るぞ!」 [603416639]
- 米が高すぎて小麦食にしたら体調不良報告が続出😲関係あるのか [118990258]
- ネトウヨ 「ネットで真実を知った、自分たちは大きな敵と闘っている、脳汁ドバドバ」→ 脳汁には勝てなくね? [507895468]
- 【朗報】好きなブルボンのお菓子ケンモメンの99割が完全一致【画像】 [517459952]
- 【悲報】フェミさんブチギレ「赤いきつねのアニメCMにモザイクかけたら完全にフェラチオだった!!!!」 7万いいね [839150984]
- 無職の三連休最終日🏡