■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 最新50

プログラマが2chを救う!?

326 :デフォルトの名無しさん :2001/08/26(日) 04:16
フリーのwikiなサイトってどっかないのかな?
こういう作業はwikiでやるのがよさげなんだけど。

327 :デフォルトの名無しさん :2001/08/26(日) 04:17
>>325
サンクス
そのsourceを元に手を加えていきましょう

328 :デフォルトの名無しさん :2001/08/26(日) 04:18
BadAccess関数の最適化。
strstrのかわりなる物を作ってみた。
strstrがどんな仕組みで動いているかしらないので、本当に速いのかどうか・・。

// text2 (検索する文字列)の長さが255以下の場合でしか動かない
char *strstr_BM256(char* text, char* text2) {

char tail;
unsigned char skip[256];
unsigned int len = strlen(text2), longlen = strlen(text), i, x, y;

if (longlen < len) return NULL;
tail = text2[len];

// 長さが1の時の対策は省略

memset(skip, (unsigned char)len, 256);
for (i = 0, len--; i < len; i++)
skip[(unsigned char)text2[i]] = (unsigned char)(len - i);
// i = len - 1;
while (i < longlen) {
if (text[i] == tail) {
x = i; y = len;
while (text[--x] == text2[--y]) {
if (y == 0) return &text[x];
}
}
i += skip[(unsigned char)text[i]];
}
return NULL;
}

329 :名無しさん :2001/08/26(日) 04:19
PHPとか、Apache moduleとかの話になると、
サーバ屋さんの意向を確認した方がいいと思う。
mod_gzipは使えないとかUNIX板でやりとりがあったようだし。

330 :デフォルトの名無しさん :2001/08/26(日) 04:21
>mod_gzipは使えないとかUNIX板でやりとりがあったようだし。

来週末あたりに結論が出るらしい。使える可能性が高いようだ。

331 : :2001/08/26(日) 04:21
>>329
mod_gzipはすでにOKになったはず

332 :331 :2001/08/26(日) 04:22
あれ?まだ決定じゃなかったのか・・・スマソ。

333 :デフォルトの名無しさん :2001/08/26(日) 04:22
piza2鯖にはPHP4.0.3pl1が入っています。
だから、PHPが使えないって事はないと思います。

334 :デフォルトの名無しさん :2001/08/26(日) 04:24
つーかPHP使えるかどうかはともかくCでいいんじゃないの

335 :デフォルトの名無しさん :2001/08/26(日) 04:25
サーバ負荷はとりあえず今は気にしないで良いんじゃなかった?

336 :329 :2001/08/26(日) 04:25
>>330
うん、ごめん。
えーと、オレが言いたかったのは、そのへんの話は
みんなサーバ屋さんのお許しをもらわなきゃならない、ってこと。
ここで「これがいい」って決めたあとで、
サーバ屋さんに一蹴されちゃうのも悲しいじゃん。

337 :aki :2001/08/26(日) 04:26
>>326
試しにyukiwiki置いてみました。ご自由に。
http://www.gedoh.org/aki/2ch/wiki/

実は自分ではあまり使ったことが無いんですが……。

338 :316 :2001/08/26(日) 04:26
read4-blank.c.25は問題があるそうなので、read5.01.02.cに差し替えました。

339 :デフォルトの名無しさん :2001/08/26(日) 04:27
>336
いや。だから、鯖屋との相談の結果の話なの。

340 :309 :2001/08/26(日) 04:27
なんか無視されてたっぽいけどjavascriptんとこは向こうに頼んできた。

341 :名無し :2001/08/26(日) 04:28
PHPとCではどっちが負荷が少ないの?

342 :デフォルトの名無しさん :2001/08/26(日) 04:28
>>328
>strstrがどんな仕組みで動いているかしらないので、本当に速いのかどうか・・。

BSDのソースとか見ればいいじゃん。

343 :名無しさん || die :2001/08/26(日) 04:29
>340
JavaScriptをどうするって話?
もっと削れと?

344 :デフォルトの名無しさん :2001/08/26(日) 04:29
>>341
内容による。

345 :デフォルトの名無しさん :2001/08/26(日) 04:31
>>338
piza2鯖に反映されるらしい
http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998764722&st=120&to=124&nofirst=true

346 :309 :2001/08/26(日) 04:32
>>343
コードの最適化とかそんなん。
変数名縮めるとかHEADにまとめるとか。

347 :デフォルトの名無しさん :2001/08/26(日) 04:33
>>346
Javascriptを別ファイル化するって話は出てないんですか?

348 :デフォルトの名無しさん :2001/08/26(日) 04:35
>>347
で?
どこに置くの?

349 :名無しさん || die :2001/08/26(日) 04:36
>>346
了解。

>>347
サイズが小さいから転送ファイル数が増える方が痛い。

350 :デフォルトの名無しさん :2001/08/26(日) 04:36
>>348


351 :326 :2001/08/26(日) 04:37
>>337
すばらしー。とりあえずちょっとページ・リンクを追加しました。
今スパゲティー茹でてるんでもうちょっとしたら整理します。

352 :デフォルトの名無しさん :2001/08/26(日) 04:38
>>333
PHPが使えても、apacheのmoduleとして使えないと
perlよりむちゃ遅いよ。

353 :デフォルトの名無しさん :2001/08/26(日) 04:39


354 :309 :2001/08/26(日) 04:39
>>347
あーなんかCSSとjavascriptを別ファイルにするとかも言ってたような・・
ごめん向こうあんま読んでない(w
とりあえずprintfで吐き出す定型内容についてはこっちは気にしないって事で。

355 :デフォルトの名無しさん :2001/08/26(日) 04:42
read.cgiが5.02になったみたい

356 :素人 :2001/08/26(日) 04:45
夏休みが終われば転送量が自然に減るような気がしますが・・

357 :デフォルトの名無しさん :2001/08/26(日) 04:45
>>356
その案採用

358 :デフォルトの名無しさん :2001/08/26(日) 04:47
夜勤さんの書きこみを見る限り、
6月か7月あたりからやばそうだったらしいが。

359 :デフォルトの名無しさん :2001/08/26(日) 04:49
>>356
そう思うけど、実は減ってないんだってさ。

360 :デフォルトの名無しさん :2001/08/26(日) 04:52
test

361 :デフォルトの名無しさん :2001/08/26(日) 04:57
177 名前:369 ◆3XTuRnAc 投稿日:2001/08/26(日) 04:52
>名無し娘。さん
えと、IPがまた変わりました。っていうかまたモデムが落とされた模様(^^;;。
ftp://210.170.170.131/
です。

182 名前:aki 投稿日:2001/08/26(日) 04:55
>>369さん
ミラー元直しておきました。
http://www.gedoh.org/aki/2ch/210.170.170.131/incoming/

これで寝ちゃうので、これ以後IPアドレス変わったらごめんなさい。
メール頂ければ直せるかも。

362 :名無しさん@ミポリソ@UNIX板 :2001/08/26(日) 05:00
あと思ったのは 弾くブラウザ等の設定項目とか挿入バナーなんかは
ハードコーディンクより設定ファイルからの読み込みにした方が
よさげでは? とか思ったり

363 :デフォルトの名無しさん :2001/08/26(日) 05:03
今回の圧縮の効果
・圧縮効果1/16
・圧縮対応ブラウザが70%
であれば、70%*1/16+1*30%=34%

Last-modifiedの効果も全体に利くとしても、目標の1/3にギリギリ
達したに過ぎない。HTMLのスリムかも含め、ゴリゴリ推し進める
ことが必要だ……

364 :デフォルトの名無しさん :2001/08/26(日) 05:03
>>362
確かに

365 :デフォルトの名無しさん :2001/08/26(日) 05:04
よし、まず中高生の夏休みを短縮してもらおう!!>>356

366 :素人 :2001/08/26(日) 05:04
俺が2ちゃんをみんなに広めたせいでこんなことに。。
ごめんなさーい(;´Д‘)アア

367 :デフォルトの名無しさん :2001/08/26(日) 05:04
>・圧縮効果1/16

オヒオヒ

368 :デフォルトの名無しさん :2001/08/26(日) 05:06


         お祭りワッショイ!!
     \\  お祭りワッショイ!! //
 +   + \\ お祭りワッショイ!!/+
                            +
.   +   /■\  /■\  /■\  +
      ( ´∀`∩(´∀`∩)( ´ー`)
 +  (( (つ   ノ(つ  丿(つ  つ ))  +
       ヽ  ( ノ ( ヽノ  ) ) )
       (_)し' し(_) (_)_)

369 :デフォルトの名無しさん :2001/08/26(日) 05:06
>>367
1/16 という数字はAA板の場合の結果のようです。

370 :デフォルトの名無しさん :2001/08/26(日) 05:11
>>367
どうやら通常では1/3前後みたいだね。

371 :デフォルトの名無しさん :2001/08/26(日) 05:12
>>369
特殊な状況でしょ、1/16って。
それを全体に当てはめるのは、どうかと思ったわけ。

372 :デフォルトの名無しさん :2001/08/26(日) 05:14
ところで、いわゆる「exit()前のfree()」っていらないんじゃないの。

373 :_ :2001/08/26(日) 05:18
unix板で隠れているがありがとう。

374 :デフォルトの名無しさん :2001/08/26(日) 05:18
>>362
そんなにしょっちゅう変更するもんではないので、埋め込み文字列で
良いんじゃない?

375 :デフォルトの名無しさん :2001/08/26(日) 05:20
通常で1/3だったら、まだまだだめじゃん……
ようやく50%程度になったってことか。
でも、すごいことだけどさ。

376 :素人 :2001/08/26(日) 05:21
どんなに頑張ってみても、ひろゆきが氏んだら閉鎖するんだろうな

377 :デフォルトの名無しさん :2001/08/26(日) 05:21
>>374
確かに

それよりも、読み込みでのオーバーヘッドの方が心配

378 :デフォルトの名無しさん :2001/08/26(日) 05:25
>>376
マンガ家が死んでもアシが絵をまねて続くこともあるから、どうだろう

379 :もうすぐ出番ですぞ! :2001/08/26(日) 05:27
第1段階はUNIX板の有志の手でほぼ成功しました。
次は貴方方の番です、頑張って成功させてください。

380 :デフォルトの名無しさん :2001/08/26(日) 05:28
ソースはどれを使えば良いの?
read10.01.02.c ってやつ?

381 :デフォルトの名無しさん :2001/08/26(日) 05:28
gprofでreadとwriteの回数が最小になるようにしようぜ。

382 :デフォルトの名無しさん :2001/08/26(5) 30:00
ソースに indent かけたくなる…

383 :親の威を借りる狐 ◆v0Ec25uo :2001/08/26(5) 31:00
2ちゃん浄化策として、100落ちするあいだにユニークレスが
10つかなかったスレッドは自動削除するような機能を追加してくれ(藁

384 :デフォルトの名無しさん :2001/08/26(5) 31:00
>>382の表示がむちゃくちゃになってないか?
8/26(5) 30:00 って、、、

385 :デフォルトの名無しさん :2001/08/26(5) 32:00
ごめんここ職業プログラマ多いから
今の時間は・・きつい・・・

386 :デフォルトの名無しさん :2001/08/26(5) 32:00
>>382
GNU スタイルでよろしく。

387 :親の威を借りる狐 ◆v0Ec25uo :2001/08/26(5) 33:00
たしかに日付表示がむちゃくちゃだ(藁

388 :382 :2001/08/26(5) 33:00
>>384
> >>382の表示がむちゃくちゃになってないか?
> 8/26(5) 30:00 って、、、
うぉ、なんでやろ。
navi2ch からのせいかな?

389 :デフォルトの名無しさん :2001/08/26(5) 34:00
なんか時間がえらいことになってるぞ(笑

>382
かけていいでしょ。

390 :デフォルトの名無しさん :2001/08/26(5) 35:00
曜日か

391 :デフォルトの名無しさん :2001/08/26(5) 35:00
曜日の所に時間が、時間のところに分が、表示されてる模様。

392 :デフォルトの名無しさん :2001/08/26(5) 35:00
送信データ量が1/3になったとして、ネットワークへの
負荷はどの程度変化すると考えればよいのでしょうか?
1/3より小さくなる?大きくなる?

393 :デフォルトの名無しさん :2001/08/26(5) 37:00
>>392
大きくなる
HTTP/1.0 の人間は無圧縮で送られる

394 :デフォルトの名無しさん :2001/08/26(5) 39:00
ってあれ?曜日書くのとかってbbs.cgiじゃないの?
そっちもいじってんの?

395 :デフォルトの名無しさん :2001/08/26(5) 40:00
>>394
別働で弄っているっぽい

396 :布団圧縮袋さん :2001/08/26(5) 41:00
2001年8月26日、5曜日、39時w

397 :392 :2001/08/26(5) 41:00
>>393
あ、基本的に全てのマシンにたいして圧縮されたデータを
送ると仮定した場合です。で、ユーザ数が現行のまま。
ユーザの取る行動によって負荷のかかり方が変化すると
思いまして。

398 :デフォルトの名無しさん :2001/08/26(5) 43:00
Apacheはブラウザで中止やリロードされるとCGIにSIGPIPEとか
送ってきたり、SIGALRM/SIGHUP/SIGTERM/SIGKILLとか
気になります。書き込み途中で殺されないか。
Signal Handlerも必要or不要?
現在は入ってなかったはず。

399 :デフォルトの名無しさん :2001/08/26(5) 44:00
>>397
WWW サーバが受信するデータ量が一定で、
WWW サーバが送信するデータ量が 1/3 で一定なら、
ネットワークへの負荷は受信するリクエスト + 1/3 で 1/3 より大きいだろ

ユーザの取る行動がどう変わるかの定義は何

400 :デフォルトの名無しさん :2001/08/26(5) 44:00
ひとつ提案。
サーバ負荷を減らすために、read.cgi をリクエストあるたびに
プロセスを起こす方式じゃなくて、 http://www.fastcgi.com を使ったら
どうっすか?。これなら、プロセス起動しっぱなしなんで、
プロセス起動の負荷が減ると思いますが。。。

401 :デフォルトの名無しさん :2001/08/26(5) 45:00
2ちゃんねるは滅びぬ。
何度でも甦るさ。
わかるか、厨房の力こそ、人類の夢だからだ。
次もスレを立てる。
ひざまずけ、レスを付けろ!
荒らしから2chを取り戻せ!

                              ―― ̄ ̄ ̄ ̄\
                            /           \
                             |      人     |
                            |   //|/|/  \    \
                             ||\|へ  ー― \    |
                                || ̄|-| ̄ ̄|― L  |
_                              | ̄| ̄ ̄    | /
| |\_____                      | ___   / /
(●)__    |DΞ)|                    |       /|/
  ̄  \\―|DΞ)|_                     |___/  |
      \\_|DΞ)ノ)     __―――――――|`―_   _|__
    ( ̄| | D|  |◇ノ ̄ ̄ ̄ ̄        |    \   ̄|_//   ―_
     ( ̄ ̄  ̄ ̄) |               \   / \ / \\_ /   ―-
      (  ̄ ̄ ̄)| |                \/    / | \\/     ヽ
      (_ ̄ ̄) / |                /    /  |    \      |
       |_| ̄ ̄//                 \    /    |      |      |
       | |_//                   \ |__ |      |       |
       |__/__                   \/ /  ̄|つ   /    |   |
             ̄ ̄ ̄ ̄ ̄ ̄ ̄| ̄ ̄/     //    し― ̄      |   |

402 :デフォルトの名無しさん :2001/08/26(5) 45:00
>>392
「ネットワークの負荷」がなにを指しているかわかんない。
転送サイズ以外の負荷要因とはなんのこと言ってる?

転送時間短縮→ブラウザ表示高速化→リロード回数増はありえるかもだけど。
その回答得てどうすんの?

403 :デフォルトの名無しさん :2001/08/26(5) 46:00
>>400
そこまでサーバ弄るのを許可してくれるのか……?

404 :デフォルトの名無しさん :2001/08/26(5) 48:00
>>398
プロセスが死ぬんだから結果オーライでいーんじゃないの?

405 :デフォルトの名無しさん :2001/08/26(5) 50:00
>>402
どんなIPパケット出すかによって違うぞ

406 :392 :2001/08/26(5) 54:00
>>402
まさしく、そのリクエスト増のタイミングがちょっと
気になるんです。
その事がトラヒックに与える影響が無視できるんなら
それでかまわんし、何か面白い事が起きるんなら、
それはそれでやっぱり面白いだろう、と。

407 :369 ◆3XTuRnAc :2001/08/26 05:56
えと、UNIX板において、「バージョン番号の混乱」が指摘されています。
今のところUNIX板においての最新は「read10.01.04.c」になっていますが、
こちらの方のソースってどのあたりのバージョンを元にしてますか?

・・・やっぱりフルスクラッチとか・・・。

408 :デフォルトの名無しさん :2001/08/26 05:58
>>404
いや、怖いのはdatの破壊。
書き込み途中で死なれると大抵は不正なdatになる。
ま、変更なしならそれでいいか。

409 :デフォルトの名無しさん :2001/08/26 05:58
今のコードってかなり可読性低いよね・・・・・・

410 :316 :2001/08/26 06:01
>>407
UNIX板の「read5.01.xx.c」に+5しています。
混乱しないようにこちらは「read10.01.xx.c」にしたのですが。

411 :がいしゅつですが :2001/08/26 06:01
2ちゃんねるWikiを開設しました。
http://www.gedoh.org/aki/2ch/wiki/yukiwiki.cgi?TopPage

このサイトは一度書き込んだレスを後から修正したりできるので
修正案などをまとめるための資料置き場として使ってください。

412 :デフォルトの名無しさん :2001/08/26 06:02
とりあえず、タイムスタンプがなおった?

413 :デフォルトの名無しさん :2001/08/26 06:03
>>406
ふつうに考えて非圧縮状態より負荷高くなることはないだろう。
lastmodifyチェックも入っているわけだし。

そのへんは本格運用後にプロファイルされるんではないかなあ。

414 :デフォルトの名無しさん :2001/08/26 06:03
>>407
漏れは、
read5.01-amppatch.c
read4-blank.c.25
read4.c
の順かな。
ただまだfeed-backしてないから困ってないが。
feed時には、read4-blank.c.25の差分を考えている。

415 :デフォルトの名無しさん :2001/08/26 06:09
>408
以前手元の環境(Linux+Apache)で調べたときには、特に何もSignalは
送られてこなかったと思う。ここの鯖も同じであれば、中止ボタンが
押されたことによってdatが壊れるってことは無いんじゃないかな。
実際にここの鯖で検証してみないとなんとも言えないけど。

416 :369 ◆3XTuRnAc :2001/08/26 06:11
ということで、うちのサーバーではそろそろ
作業ベースとして怪しくなってきたと思います。
あとは、Wikiページにお任せしたいのですがどうでしょうか?

417 :デフォルトの名無しさん :2001/08/26 06:18
>>415
http://www.coe.tamu.edu/cs/apache/mod_perl/CHANGES
http://perl.apache.org/guide/debug.html
あたりみて気になったさ。
ただ、mod_perlなのが気になる。が、英語がよくわからん(泣。
2chはApache 1.3.6なのできみんとこと同じなら平気なはず。

418 :411 :2001/08/26 06:19
>416
Wikiはテキスト貼るだけでファイルは置けないんですがどうしましょう?
現状ソースの中身を全部コピペするか別サーバに移転するしかないです。

419 :デフォルトの名無しさん :2001/08/26 06:27
いまさらだが、Makefileあぷ。

ex) ソースがread4.cの場合
$make read4.cgi
ex) ソースがr4.cの場合
$make r4.cgi

---- Makefile
.SUFFIXES: .c .cgi

CC=gcc
#CC=cc
CFLAGS=-DLASTMOD -DGZIP

.c.cgi:
$(CC) $(CFLAGS) $< -o $*.cgi ←頭はTABね。
----

420 :ななしさん@通信技術 :2001/08/26 06:28
>>415
openする前に、データベースを格納したファイルから、PIDから一意に生成されるパス
名に対してhard linkを張っておくといいですよ。
で、シグナルハンドラにはそれらのリンクを適切に解消するルーチンを書いておけば
OKだと思います。同じ原理で2層ロックも実現できるかと。

あと、プロセスが起動したときに、タイマーで自分自身にシグナルを送るようにして
なんとなくウオッチドックすればサーバにやさしいかもです。

421 :デフォルトの名無しさん :2001/08/26 06:28
あ、次からsageでかこ。

422 :デフォルトの名無しさん :2001/08/26 06:30
いっそSourceForgeを使うのは……。
http://sourceforge.net/
鶏に牛刀の類っすかね。

423 :名無しさん@ミポリソ@UNIX板 :2001/08/26 06:33
>>419
CFLAGSには まぁ -O? とかの最適かもあるけど とにかく -Wall は
付けといた方がいいね

424 :デフォルトの名無しさん :2001/08/26 06:34
>>423
-Oは、-O2がいいんかな?

425 :最新ソースを一応どぞ :2001/08/26 06:54
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/read11.c
最新版情報は

http://star.endless.ne.jp/users/forcount/4countbbs/scriptmaker/index.html
重要なのは前者

231KB
新着レスの表示

スレッドリストへ戻る 全部 前100 次100 最新50

0ch BBS 2004-10-30