X



トップページ運用情報
1001コメント303KB

read.cgi再開発スレ

■ このスレッドは過去ログ倉庫に格納されています
0001reffi@報告人 ★
垢版 |
04/06/14 16:48ID:???
稼働させると問題が多発しているread.cgiを再開発等を話しあうスレッド
です。
アイデア等がありましたらこちらへどうぞ
0002動け動けウゴウゴ2ちゃんねる
垢版 |
04/06/14 16:48ID:pmCliEFX
★現状の問題点
 ・tiger鯖ではread.cgiを稼働させると高負荷になる。
 ・peko鯖の場合は負荷に関係なく落ちる確率が上がる。

★解決策
 ・tiger鯖用の低負荷なread.cgiの再開発
 ・peko鯖用のAMD64特化版read.cgiの再開発
0003reffi@報告人 ★
垢版 |
04/06/14 16:49ID:???
関連発言
http://qb5.2ch.net/test/read.cgi/operate/1087192862/22
22 名前: ◆Reffi/bQ.c [sage] 投稿日:04/06/14(月) 16:02 ID:pmCliEFX
>21
peko鯖はだいぶ安定運用し始めているのであとはread.cgiの低負荷化さえ
出来ればいいんじゃないかと思ったり
read.cgiの低負荷版の開発は次の世代の若者に全て任せるという事で(ぉ

http://qb5.2ch.net/test/read.cgi/operate/1087192862/26
26 名前: ◆BDFCNV1.to [sage] 投稿日:04/06/14(月) 16:05 ID:MdNpKY8r
>>22
私が見るに、
read.cgi をpeko で動かしていると良く落ちるということは
負荷が問題じゃなく、相性の問題と、
つまり read.cgi にpeko だと顕在化する bug があるのか、

そんなとこだと思う。

read.cgi の書き直しは、そっすね次代の方々に譲るということで、
0005 ◆Reffi/bQ.c
垢版 |
04/06/14 17:27ID:pmCliEFX
>4
サンクスです。
そういえば、今read.cgiのソースは公開しても問題はないんでしょうか?
0008 ◆Reffi/bQ.c
垢版 |
04/06/14 17:34ID:pmCliEFX
>7
ありゃ
banana鯖でした(汗
というわけでwiki修正もよろしくお願いします。
0010 ◆Reffi/bQ.c
垢版 |
04/06/14 17:40ID:pmCliEFX
>9
人大杉スレ見たらbananaで止まっているのはbanana227だけであとはpeko鯖
ばっかりですね。
00112chtubo愛用者〜ヘ(゚д゚ヘ))))))〜61 ◆2chTOOLYfE
垢版 |
04/06/14 17:40ID:6bU0okCe
とりあえずは無駄な機能をバッサリ切っちゃうだけでも違うと思うな。>read.cgi
0012 ◆BDFCNV1.to
垢版 |
04/06/14 17:47ID:MdNpKY8r
>>11
わかいのぉ

もっとドラスティックな変化が必要かと、

三回目は時間&お金&いろいろかけたところで
売るものは大したこと無いよ
00132chtubo愛用者〜ヘ(゚д゚ヘ))))))〜61 ◆2chTOOLYfE
垢版 |
04/06/14 17:55ID:6bU0okCe
>>12
1から見直しって事ですか?
0015root ★
垢版 |
04/06/14 20:09ID:???
個人的にはmmap()まわりが頻繁に呼ばれるところあたりかなぁと思っていたり。
0016root ★
垢版 |
04/06/14 20:10ID:???
で、今のread.cgiではmmap()を使うか使わないかはは#defineで簡単に制御できるので、
そのうちmmap()を使わない版を入れてみようかなとは思っていたり。
0017root ★
垢版 |
04/06/14 20:11ID:???
ということで、再度仕事にもどり。柿逃げスマソ。
0022動け動けウゴウゴ2ちゃんねる
垢版 |
04/06/14 23:07ID:yd0L768K
C言語なら毎日使ってるから少しは役に立てるかな?






組み込みの仕事だから標準関数なんて全然使ってないけど。
0023サザン ★
垢版 |
04/06/14 23:08ID:???
おっ、おもしろそう、

RDT板を残しとけばよかった
00247M. ◆dq7M./4Uw.
垢版 |
04/06/14 23:11ID:6CAlwRLm
実験室復活させよう実験室。(何
kusoしすてむの実験もかねちゃえ。(ゅ
0025考えるお馬●さん ◆paperNoNNo
垢版 |
04/06/14 23:31ID:tw3SCrNb
Cは大学時代の講義で基本的なこと覚えただけなんだよなぁ、、
でもCは覚えて絶対に損はしないから、なんとかついて行こう
と、思うだけ思ってみる。
0026ヾ●ノ゛ ◆NATTOSpTC2
垢版 |
04/06/14 23:35ID:vcU6bmnZ
よし!俺も暇になったら>25さんの後をついていこう!
俺だってCの基礎の基礎くらいは覚えてるし
この機会に勉強するぞ!
とか意気込んでみるテスト(。A 。 )
0031辰星 ◆Merc69tMT.
垢版 |
04/06/15 04:52ID:960jW10v
C++やろうかな……いいかげんPHPオンリーを脱出せねば笑
0034動け動けウゴウゴ2ちゃんねる
垢版 |
04/06/15 09:26ID:RaKG7Jd0
現行のread.cgiがどのような動作をしているのか、どこかで解説されてないかな?

現在の動作が分からないと、設計もできないんでないかい?
0036考えるお馬●さん ◆paperNoNNo
垢版 |
04/06/15 22:29ID:IL33v7pF
>>30
dat読み込みから見直すんならbbs.cgiの方まで見直さなきゃいけないと思うんだけど
そこまで大改造はしないと思う。

banana鯖用のスリム化は別にやらなくても大丈夫らしい(>>9-10)だから
やることはAMD64特化版read.cgiってやつだけかな?
0037考えるお馬●さん ◆paperNoNNo
垢版 |
04/06/15 23:07ID:IL33v7pF
>>34
Perlで似せてread.cgi作った時は大体こんな感じの処理が必要だったけど。

各種設定
 背景色等の設定用にSETTING>TXT読込
 クッキーの読込

エラー判定
 datファイル読込・存在するかの判定
 無い場合は過去ログ倉庫に存在するかの判定

ヘッダ部出力
 datファイルのレス数を取得
 レス番の指定がある場合は出力範囲を算出
 ヘッダ部の100レス単位リンクの出力範囲を算出

レス部出力
 >1を表示するかの判定
 レスの[ここ壊れてます]判定
 メール欄がある場合の名前欄リンク化
 URL文字列のリンク化
 外部サイトのime.nuリンク補正
 レスアンカの補正
 長文省略判定

フッタ部出力
 datファイルのサイズを取得
 新着レスの表示/続きを読む 判定
 前100、後100 表示判定

フォーム編集
 timeパラメータ用に時刻取得
0039動け動けウゴウゴ2ちゃんねる
垢版 |
04/06/16 07:29ID:S1E/GVxP
>>36
#ifdef amd64
なんちゃら
#endif

#ifdef ia32
どんちゃら
#endif

とでもできませんかね。コンパイルがmakeを使用するようになっていればの話ですが。
0042未承諾広告※ ◆TWARamEjuA
垢版 |
04/06/16 14:47ID:I3gxbUF7
mod_isp2ch なんてのはあるみたいですけどねぇ。
ひとまず、AMD64 でも安定して動く read.cgi でしょうか。
それ以上のことは、掲示板システム全体の再構築が必要かと思いますので。
0043動け動けウゴウゴ2ちゃんねる
垢版 |
04/06/16 14:54ID:Qslk/4oM
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
printf(
"Content-Type: text/html; charset=Shift_JIS\n\n"
"<html><head><title>もうずっと人大杉</title></head>"
"<body><h1>もうずっと人大杉</h1></body></html>\n"
);
return EXIT_SUCCESS;
}
00477M. ◆dq7M./4Uw.
垢版 |
04/06/17 00:49ID:m0BQmNBk
古かったと思う、>45-46
最新のは未公開、多分、
0048考えるお馬●さん ◆paperNoNNo
垢版 |
04/06/17 01:08ID:SgpcWH1q
とりあえずborlandのコンパイラを落として、暇を見つけつつ
基本構造のおさらいから始めてて、ふと思った。

これ、それなりの形が作れるようになった頃には
とっくに開発終了してるんじゃなかろうか。。

頑張れ、俺。
0049root ★
垢版 |
04/06/17 12:04ID:???
>>16 で言及した、
mmap()を使用しないread.cgiをgame6サーバに実験的に入れてみた。
これでしばらく実験してみるということで。
0051 ◆cZfSunOs.U
垢版 |
04/06/17 23:45ID:t7lGzDRQ
32-bit 環境と 64-bit 環境での違いっていっても,変数サイズの違いぐらいで,
そんなに変わるわけでもないけど.って,それがこける原因じゃないよな......?
long とかポインタのサイズに依存するような処理って入ってたかな......?
0052root ★
垢版 |
04/06/18 03:43ID:???
20日以上動いていたgame6が、read.cgiを上げたら半日で死にました。
mmap()ではなかったと。

ということで、
live8(read.cgiを動かしている)とcomic4(携帯の負荷に耐えている)で実績のある、
以下の設定を追加してみた。

(従来)
<IfModule prefork.c>
StartServers 64
MinSpareServers 5
MaxSpareServers 32
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 0
</IfModule>

(現在)
<IfModule prefork.c>
StartServers 64
MinSpareServers 5
MaxSpareServers 32
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 100000 <= 変更
MaxMemFree 2048 <= 追加
</IfModule>
0053 ◆cZfSunOs.U
垢版 |
04/06/18 07:04ID:hVC2DDBV
Re: huge memory leak in 2.0.x
http://www.mail-archive.com/dev@httpd.apache.org/msg21175.html

ということで,2.0.x には CGI を呼んだ際にメモリリークする問題があるそうで,
とりあえずは MaxRequestsPerChild / MaxMemFree での対処は
妥当なところなんでしょうけど,AMD64 以外ではこけるというところまでは
行ってなかったんですよね......?
0054root ★
垢版 |
04/06/18 12:15ID:???
>>53
どうもです。CGIを呼ぶとメモリリークするのですか。

かつてのumaサーバ(Xeon 2.4G dual/メモリ2G/FreeBSD 4.x)では特に問題なかったですね。
FreeBSD 4.xと5.xの違いか、amd64とi386の違いか。
0055root ★
垢版 |
04/06/18 12:21ID:???
ということで、read.cgiの現在のソースを
出来る範囲でもうすこしまじめにあたってみるか。
0056root ★
垢版 |
04/06/18 12:24ID:???
…ということで、いったん退却。

【Project peko】2ch特化型サーバ構築作戦 Part13
http://qb5.2ch.net/test/read.cgi/operate/1085678587/963
963 名前:root ★[sage] 投稿日:04/06/18 11:54 ID:???
ということで、リモートからデバッガに落とせない状態なので、
いったんgame6のread.cgiを止めます。
0058 ◆HETAREzfq.
垢版 |
04/06/18 16:24ID:wGOM4U5h
>>57
hardをどうにかする、というのは基本的にあきらめたみたいだよ。
(これから新規に買うときは発注条件をなんとかする等で気をつけて欲しいけどね)
OSもどうなんだろう?live8は今の所問題ないし。。。

今は、opteron・apache・OS等の禁忌事項にread.cgiの処理が当てはまってるかどうかとか
そういうのを調べてみる時期なんじゃないのかなぁ??
(ソフトのことはよくわかりませんが)
0060 ◆HETAREzfq.
垢版 |
04/06/18 16:56ID:wGOM4U5h
>>59
わかる人が見ないことにはそのへんすらわからないだろうね。
ちなみに漏れは見てもわからんのは確実。がはは。
■ このスレッドは過去ログ倉庫に格納されています

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