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

【2ちゃんねるビューア】 巡回機能の巻。Part3

397 :Dream ★ :02/03/25 04:29 ID:???
>>393
軽くなりますかねぇ?
Perlのルーチン効率化して、その上で、サーバの負荷的な面で考えてどうなんでしょう?

398 :Dream ★ :02/03/25 04:30 ID:???
>>396
そうですね。やっぱり試してみないとわからないところです。

399 :Dream ★ :02/03/25 04:32 ID:???
夜勤さん、トオルさん的には、もうsubject.txtは
隠す必要はなくなったのでしょうか?
>クラッキング対策としての要望というか。

400 :夜勤 ★ :02/03/25 04:35 ID:???
攻撃受けたときの事を考えると
隠したいですけど >>399

401 :名無しさん@お腹いっぱい。 :02/03/25 04:39 ID:???
subject隠したらsubback・・・

402 :ななむす ◆nnmm.69A :02/03/25 04:40 ID:???
>>395
ファイルオープンの負荷とかわすれてた。。。

なーんか
http://www.hoops.ne.jp/~yk2yk2/mn/perl/gzipctl.pl
こういう方向性を考えてしまう。

# せっかく index.html も subback.html も subject.txt も bbs.cgi が
# 内部生成してるんだから、ストリーム的に圧縮した方が、と。

403 :夜勤 ★ :02/03/25 04:42 ID:???
めんどくささの問題と変更しても良いかどうかの問題で

subject.txt は形式、名前かえたら 大変なことになるけど、

subback.html は、名前変えようが、中身変えようが
自由自在なわけで、

404 :Dream ★ :02/03/25 04:42 ID:???
>>402
うん。そう思うところはあります。
Cで呼び出すと、Cが子プロセスになって、その孫プロセスで圧縮するわけですよね?
しかも、データを標準出力で受け渡して。
だったら、Perl内部で完結した方が、負荷は少ないような気がします。

405 :ななむす ◆nnmm.69A :02/03/25 04:45 ID:???
>>404
両方作ってテスト、ですかね。。。。

406 :名無しさん@お腹いっぱい。 :02/03/25 04:45 ID:???
subbackは変幻自在なノカー!

407 :夜勤 ★ :02/03/25 04:45 ID:???
なんか雪降ってるですか。。。
除雪車が動き回っているぞー

408 :Dream ★ :02/03/25 04:47 ID:???
>>405
そうしないとわかんないですね(笑)
プロセスプロセスいっても、一瞬で終わるかも知れないし。

sub do_gzipとか作って、
&do_gzip("$data");
とかでルーチン内でやっちゃうっていうのは、けっこうPerlではよくある話なんですけど。

409 :名無しさん@お腹いっぱい。 :02/03/25 04:47 ID:???
札幌は降ってるノカー?
北見は降ってないじゃないカー。

410 :夜勤 ★ :02/03/25 04:52 ID:???
現状を報告しますと

index.html , subback.html は bbs.cgi 内で
投稿があるたびに以下が行われるです。

system("gzip -c $INDEXFILE > $INDEXGZFILE");
system("gzip -c $SUBFILE > $SUBGZFILE");

subject.txt は、クライアントからリクエストされるたびに
mod_gzip が動いているはず。


411 :Dream ★ :02/03/25 04:57 ID:???
>>382
ななむすさんって、bbs.cgi見られる人だったのですか?

412 :試してないよ :02/03/25 05:01 ID:???
#include <stdio.h>
#include <sys/mman.h>
#include <zlib.h>
#ifndef MAP_FAILED
#define MAP_FAILED (void *)(-1)
#endif
#defineCOMPRESS_FLAG"wb6"/* wb1-wb9 */
void compress_one(const char *fname)
{
 int fd;
 void *buf;
 int fd = open(fname, O_RDONLY);
 if (fd >= 0) {
  struct stat st;
  if (fstat(fd, &st) == 0) {
   buf = (char *)mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, fd, 0);
   if (buf != MAP_FAILED) {
    char gzname[256];
    sprintf(gzname, "%s.gz", fname);
    gzFile file = gzopen(gzname, COMPRESS_FLAG);
    if (file) {
     gzwrite(file, buf, st.st_size);
     gzclose(file);
    }
    munmap(buf, st.st_size);
   }
  }
  close(fd);
 }
}
void compress(const char *bbs, const char *fname)
{
 char fnbuf[256];
 sprintf(fnbuf, "%200s/%30s", bbs, fname);
 compress_one(fnbuf);
}
int main(int ac, char **av)
{
 if (++av, --ac) {
  compress(*av, "index.html");
  compress(*av, "subback.html");
  compress(*av, "subject.txt");
 }
 return 0;
}

413 :ななむす ◆nnmm.69A :02/03/25 05:01 ID:???
新聞見てニ速+へ。社会から遠くにいた今日一日だったのだなぁ。。。

>>410
少なくとも $INDEXFILE 作成 → $INDEXFILE open → $INDEXGZFILE
よりは、$INDEXGZFILE も $INDEXFILE と同時に作る方法が軽いと思います。

。。。が、今日は寝るです。仕事どうしよう。寝れるのかなヽ(´ー`)ノ
皆さんお疲れさまでした。

>>411
見られないですよー。
こちらからはいくらでも公開しちゃうのだけど(笑
4種くらい手持ちのを見つつ、想像しつつ、です。

414 :Dream ★ :02/03/25 05:02 ID:???
>>413
お休みなさいです〜

415 :試してないよ :02/03/25 05:03 ID:???
ちょっと見ただけでも
 sprintf(fnbuf, "%.200s/%.30s", bbs, fname);
とか、ぼろぼろだ

416 :ななむす ◆nnmm.69A :02/03/25 05:03 ID:???
>>412
!! お疲れさまですです。

417 :AJA6H/Ws ◆MPnX7dHA :02/03/25 05:03 ID:???
>>413
乙〜〜!

418 :Dream ★ :02/03/25 05:05 ID:???
>>410
system("gzip -c $INDEXFILE > $INDEXGZFILE");

`gzip -c $INDEXFILE > $INDEXGZFILE"`;
と、どちらが負荷が少ないのかなぁ?と思いましたが、どちらも大して違わないかも知れません。
さらにいいますと、その内容であれば、Cで別プロセスに任せるより、そのままの方がよいと思います。

419 :名無しさん@お腹いっぱい。 :02/03/25 05:10 ID:???
kage.exe Version0.99.1.6に。

420 :Dream ★ :02/03/25 05:16 ID:???
sub do_gzip [ `gzip -c $_[0] > $_[1]`; }
として、&do_gzip("$INDEXFILE","$INDEXGZFILE");
等という呼び出し方をすれば、若干スクリプトが効率化するかも知れませんね。

余談ですいませんでした。

421 :名無しさん@お腹いっぱい。 :02/03/25 05:21 ID:???
おお。かちゅ〜しゃの巡回ボタンが更新チェックになっとる。


422 :名無しさん@お腹いっぱい。 :02/03/25 05:51 ID:???
動作確認した。圧縮率は外からも指定可。
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <ctype.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/mman.h>
#include <zlib.h>
#ifndef MAP_FAILED
#define MAP_FAILED (void *)(-1)
#endif
char compress_flag[30];
void compress_one(const char *fname)
{
 int fd;
 void *buf;
 fd = open(fname, O_RDONLY);
 if (fd >= 0) {
  struct stat st;
  if (fstat(fd, &st) == 0) {
   buf = (char *)mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, fd, 0);
   if (buf != MAP_FAILED) {
    char gzname[256];
    gzFile file;
    sprintf(gzname, "%s.gz", fname);
    file = gzopen(gzname, compress_flag);
    if (file) {
     gzwrite(file, buf, st.st_size);
     gzclose(file);
    }
    munmap(buf, st.st_size);
   }
  }
  close(fd);
 }
}
void compress_file(const char *bbs, const char *fname)
{
 char fnbuf[256];
 sprintf(fnbuf, "%.200s/%.30s", bbs, fname);
 compress_one(fnbuf);
}
int main(int ac, char **av)
{
 int mode = 6;
 ++av, --ac;
 if (ac == 2 && isdigit(*av[1])) {
  mode = atoi(av[1]);
  --ac;
 }
 sprintf(compress_flag, "wb%d", mode);
 if (ac == 1) {
  compress_file(*av, "index.html");
  compress_file(*av, "subback.html");
  compress_file(*av, "subject.txt");
 }
 return 0;
}

423 :名無しさん@お腹いっぱい。 :02/03/25 06:03 ID:???
bbs.cgi内部で圧縮するのが一番いいのは確かだけど
Zlib入ってるのかな?
MD5とかも入ってなくて(^_^;)が苦労してたような。
include/に、zlib.hもなかったし。

424 :名有りさん@お腹へった ◆fSunOs.U :02/03/25 06:09 ID:???
何かこんな時間に......乙カレーです.

ところで,こういうの使えばfork()せずに済むかと.
http://cpan.org/modules/by-category/17_Archiving_and_Compression/Compress/Compress-Zlib-1.16.readme
http://cpan.org/modules/by-category/17_Archiving_and_Compression/Compress/Compress-Zlib-1.16.tar.gz

fork()してCのプログラム使うのなら,daemonizeして非同期実行させた上で,
5秒ぐらい待ってその間に発生した圧縮処理を1つにまとめてしまうのも考えかと.

fd = open(CHKFILE, O_WRONLY|O_CREAT|O_EXCL, 0700);
if (fd == -1) return;
sleep(5);
unlink(CHKFILE);
/* 処理続行 */


425 :名無しさん@お腹いっぱい。 :02/03/25 08:10 ID:???
>>410
ああ、やっぱりsubject.txtはリクエスト単位のmod_gzip圧縮だったのか。
全スレ 655 はやっぱデマだな。

426 :名無しさん@お腹いっぱい。 :02/03/25 08:13 ID:???
>>418
>その内容であれば、Cで別プロセスに任せるより、そのままの方がよいと思います。

なんで?呼ぶプロセスが3つから1つに減るのに?理由は?

427 :名無しさん@お腹いっぱい。 :02/03/25 08:30 ID:???
うーん、>>174だけど
>>176 言われてしばらく様子見(怒ってないよ>>177)
>>314に口あんぐり
>>380あたり見て唖然。そんなこともしてないのか。
どうりでこの程度のアクセス数でパンクしそうになるわけだ。
ここの仕組みからすると10倍アクセスが増えても楽々
こなせるよ。

しかし、それ以前にロードが20超えても何もしないで手を
こまねいてる管理がおかしい。全然チューニングすら
してないってことじゃないか。

そんな管理に振り回されるツール作者がまったくもって
気の毒だ。



428 :名無しさん@お腹いっぱい。 :02/03/25 08:39 ID:???
>>427
今まで出てきた情報からすると
そもそも、2chの鯖は無償で(サーバを使ってもらうことで広告としているが、無償といってもいいだろう)
提供されていること、管理もボランティアで持ち出しになっていることを認識する必要があるかと。
さらに、Big-Server(NT.technology?)とhe.netの保守管理契約上、チューニング等は行いにくいというのが
あるようだ。チューニング等の細かいカスタマイズをするんだったら、he.netは電源とリブートしか責任をも
たないよ、ということになっているのだろう。
2chが相応の金を払っているならともかく、この状況ではあまり強くいえないだろう。

429 :名無しさん@お腹いっぱい。 :02/03/25 09:02 ID:???
そう、ツールだけになったら敷居が急に上がる。
入りがめんどくさいと参加者も減る、と。

なんでnetnewsじゃなくてWEB掲示板なのか・・・

430 :名無しさん@お腹いっぱい。 :02/03/25 09:14 ID:???
なぜnetnewsが敬遠されているのかを考えるべきかと(ってスレ違いだヨ)

431 :名無しさん@お腹いっぱい。 :02/03/25 09:59 ID:???
>>427
ならお前が無償で管理してやれ

432 :名無しさん@お腹いっぱい。 :02/03/25 10:00 ID:???
>>426
Cから孫プロセス3つ起動するんだから都合4プロセスになる

433 :名無しさん@お腹いっぱい。 :02/03/25 10:18 ID:???
>>422のどこで孫プロセス起動してるんだ?

434 :名無しさん@お腹いっぱい。 :02/03/25 11:05 ID:???
たぶん >>418 とか >>432 とかは
Cの1プロセス内でzlibで処理するという話の流れを読めずに
Cからさらに子プロセスでgzipを呼び出すものと思ったんだろう

435 :名無しさん@お腹いっぱい。 :02/03/25 11:10 ID:???
現在・・・ kage.exe version 0.99.1.7

436 :名無しさん@お腹いっぱい。 :02/03/25 11:16 ID:???
ぎこはにゃーんは最新版でread.cgi使わなくなった
A Boneは1.23bで暫定対応した

読めないという問題が残ってるのは
・MapleSyrup
・Hikky
・Gickoブラウザ
いずれも開発終了・中断してるものばかりなので、しょーがないか?

437 :名無しさん@お腹いっぱい。 :02/03/25 11:53 ID:???
CでApacheのモジュール書いちゃうのが早いと思うんですけどね。

mod_perlにしちゃうと、HTTPDが太っちゃうので、イマイチな気がします。
やるんだったら、Port8080とかで書き込み専用のHTTPDをあげちゃうとか。



438 :名無しさん@お腹いっぱい。 :02/03/25 12:07 ID:???
>>437
プロクシを通さないと読み書きできない人とかが
普通のブラウザで読み書きするときにも
設定をするときに四苦八苦しそうだね。

439 :名無しさん@お腹いっぱい。 :02/03/25 12:27 ID:???
>>431
ふむ、煽りにマジレスも収まりが悪いし、まだ言いたいことも
あるんだけど、スレ違いどころか板違いなので、とりあえず
もうやめときますね。


440 :名無しさん@お腹いっぱい。 :02/03/25 12:55 ID:???
Perlでなら、とりあえずsystem関数でgzip使うより、
Compress::Zlibモジュール使った方が速いみたい

Benchmark: timing 100 iterations of module, system...
  module: 6 wallclock secs ( 5.89 usr + 0.19 sys = 6.08 CPU)
  system: 10 wallclock secs ( 0.02 usr 0.06 sys + 8.43 cusr 1.32 csys = 0.00 CPU)
-----------------------------------------------------------
use strict;
use vars qw($file $i $j);
use Benchmark;
use Compress::Zlib;

BEGIN {
binmode(STDIN);
binmode(STDOUT);
$i = 0;# 出力ファイル名を変える必要はないけど
$j = 0;# 念のため

open(TEST, "testfile") or die;# 'testfile' ... 218KB
read(TEST, $file, -s TEST);
close(TEST);
}

timethese(100,{
'module' => q{
my $gz = gzopen("mod_$i.gz", "wb");
my $byteswritten = $gz->gzwrite($file);
$gz->gzclose();
++$i;
},
'system' => q{
system("gzip -c testfile > com_$j.gz");
++$j;
}
});

441 :名無しさん@お腹いっぱい。 :02/03/25 13:05 ID:???
>>438
べつに8080じゃなくっても10080でも10001でも10000でもいいけどね :-p

442 :名無しさん@お腹いっぱい。 :02/03/25 13:13 ID:???
>>436
>Gickoブラウザ

Gicko は対応する予定
http://pc.2ch.net/test/read.cgi/win/1004213099/

こういうのがオープンソースが悪いとは、言えなくなる

443 :名無しさん@お腹いっぱい。 :02/03/25 13:43 ID:???
>>442 そりゃ、かちゅ〜しゃに対する皮肉ですかw

444 : ◆.nxpP7Ic :02/03/25 14:18 ID:???
とりあえずbbs.cgiをDevel::DProfでプロファイリングしてほしーなー。
推測より計測。プログラミングの原則でしょ。


445 :名無しさん@お腹いっぱい。 :02/03/25 14:20 ID:???
>>429
妥協策として、ブラウザからはJavaで書いた専用ツールが
起動するようにするのはどうか。
全板じゃなくてHTTP向きでない実況chだけでも。
もちろん操作性と速度を確保しないと実況スレが各板に逃げ出すが。

446 :名無しさん@お腹いっぱい。 :02/03/25 14:56 ID:???
>>445
ますます負荷増大だぞうだい

447 :名無しさん@お腹いっぱい。 :02/03/25 15:12 ID:???
>>444
bbs.cgi ってあまり関数に分割されてないから、
Devel::DProf で計測してもあまりデータにならなかったりして。
今のbbs.cgiがきれいなコードになってればいいんだけど。

448 :名無しさん@お腹いっぱい。 :02/03/25 15:13 ID:???
>>439
本気で板違いだから言いたいことあるならこっちでどうぞ

「monazillaツールと課金及び転送量・鯖負荷問題を考えるスレ」
http://kaba.2ch.net/test/read.cgi/accuse/1016974669/l50

449 :名無しさん@お腹いっぱい。 :02/03/25 16:01 ID:SidwjdI3
>>142
>時刻tちょうどに2個のリクエストが来ると負荷は高いけど、
>時刻tに1個、t+0.01秒後に1個来た場合は平坦化されてて負荷は低い、なーんて考え方しちゃってる。

___ ̄− ̄−−−−−−−−______
     1  2   3

HTTPの負荷変動をこんな感じとして
(1=コネクション確立 2=リクエスト→レスポンス 3=オブジェクトボディ転送)
で、1〜2(0.01秒では終了しない)同士が被るのが一番高負荷、
3同士も出来れば被らないほうがいい
…ここまでは合ってる?

で、今のプログラムだと5個所に1づつ加えるようになってるけど、
もっと@cntを細分化して5個所に上のグラフのようなのを加えればそれは
表現出来ると思うが…


>連続するcnt N個の和の最大値と標準偏差みなよ。

確かにrapidが80前後大きく出たが、それがリクエストの被り具合と言う意味なら
同一クライアントからの(被らない)連続リクエストが被ったものと見なされるので
意味がずれてくるのでは?


450 :夜勤 ★ :02/03/25 16:24 ID:???
今日は game サーバに導入しようと思っている。
いつも 重重のサーバだからです。
で、導入後 どうなるか、、、

UpTime(game) = 11:22pm up 10 days, 13:52, 0 users, load average: 8.22, 7.75, 7.59

451 :名無しさん@お腹いっぱい。 :02/03/25 16:35 ID:???
>>436
Hikkyも対応できるようです。
http://pc.2ch.net/test/read.cgi/mobile/1017017560/11

452 :名無しさん@お腹いっぱい。 :02/03/25 17:19 ID:???
「monazillaツールと課金及び転送量・鯖負荷問題を考えるスレ」に
やっと、ひろゆき登場
http://kaba.2ch.net/test/read.cgi/accuse/1016974669/388

453 :夜勤 ★ :02/03/25 17:25 ID:???
UpTime(game) = 12:25am up 10 days, 14:56, 0 users, load average: 6.78, 6.89, 7.19

454 :名無しさん@お腹いっぱい。 :02/03/25 17:39 ID:???
game・・・

455 :名無しさん@お腹いっぱい。 :02/03/25 17:48 ID:???
ついにgame鯖もMapleで読めなくなるのか…

456 :名無しさん@お腹いっぱい。 :02/03/25 17:52 ID:???
>>452のURL、踏んでもレス番338に飛べないんだが、なぜだろう?
A Boneだとポップアップは<<レス388は未取得です>>とでる

457 :名無しさん@お腹いっぱい。 :02/03/25 17:54 ID:???
>>456
388なんて番号は存在しないから。

458 :名無しさん@お腹いっぱい。 :02/03/25 17:54 ID:???
http://kaba.2ch.net/test/read.cgi/accuse/1016974669/338

338 :ひろゆ子 ◆HRUNYAXA :02/03/25 17:11 ID:S7dwYapz
インターバルって単につかいづらいだけなような、、、、
ブラウザでクリックしたほうが早いのであれば、
ツールユーザー自体が減るだけかと、、、

459 :名無しさん@お腹いっぱい。 :02/03/25 17:57 ID:???
>>457
納得、338じゃん
レスさんきゅー

460 :夜勤 ★ :02/03/25 18:04 ID:???
UpTime(game) = 1:04am up 10 days, 15:35, 0 users, load average: 49.08, 54.73, 29.33

461 :名無しさん@お腹いっぱい。 :02/03/25 18:06 ID:???
http://kaba.2ch.net/test/read.cgi/accuse/1016974669/374

374 :ひろゆ子 ◆HRUNYAXA :02/03/25 18:01 ID:S7dwYapz
既存の機能を有料にするのではなく、
新しい機能を有料で提供したほうが受け入れやすいと、、、
一部のツールでは巡回はついてないので、
巡回が有料になっても受け入れやすいと、、、

ただ、インターバルとか個数とか調整部分の有料化って
あまりうまくいかないだけなような、、、
patchでこせるとか、、

462 :夜勤 ★ :02/03/25 18:10 ID:???
UpTime(game) = 1:09am up 10 days, 15:40, 0 users, load average: 30.06, 35.88, 28.01

463 :夜勤 ★ :02/03/25 18:23 ID:???
UpTime(game) = 1:22am up 10 days, 15:53, 0 users, load average: 19.78, 30.94, 37.58

464 :夜勤 ★ :02/03/25 18:37 ID:???
UpTime(game) = 1:37am up 10 days, 16:08, 0 users, load average: 8.67, 11.78, 22.07

465 :夜勤 ★ :02/03/25 18:43 ID:???
UpTime(game) = 1:43am up 10 days, 16:14, 0 users, load average: 10.15, 10.11, 17.83

466 :夜勤 ★ :02/03/25 18:52 ID:???
UpTime(game) = 1:52am up 10 days, 16:23, 0 users, load average: 10.24, 9.69, 14.31

467 :名無しさん@お腹いっぱい。 :02/03/25 18:52 ID:???
おいおい…
ひろゆきと考えの差が随分出るもんだ…

468 :夜勤 ☆ :02/03/25 18:53 ID:???
[ノォォン!]レンタル鯖から請求30万!!!
http://pc.2ch.net/test/read.cgi/perl/1016089203/

サイト運営者を貧乏にするbinboserver.comのお申し込みはこちらから
http://www.binboserver.com/


469 :名無しさん@お腹いっぱい。 :02/03/25 18:54 ID:???
ん?夜勤さんもしかして、手動じゃなくて
自動書き込みのスクリプトで書いてる?

470 :夜勤 ★ :02/03/25 19:00 ID:???
だいたいの 2ちゃんねるの アクセス推移なんだけど
このグラフのがくっと下がったところを下げないで
そのままつなぐと、雰囲気がわかるとおもうです。

http://uptime.netcraft.com/up/graph?site=mentai.2ch.net&mode_u=on&mode_w=on&avg_days=30&submit=Redisplay+Graph

471 :Dream ★ :02/03/25 19:02 ID:???
こんばんは。
423 名前:心得をよく読みましょう 投稿日:2002/03/25(月) 18:49 ID:adyfkZPq
>>422
うん。
html:5264195

read.cgi:6114543
bbs.cgi:449721

.dat:3449724
.dat.gz:66991

txt:706191

all:16051365

こんなかんじです。
これ見てて思ったのですけど、単純な発想ですと、
過去ログをどこか別のサーバに移せれば、1/3のリクエストが軽減するんですねぇ。
(妄想)

472 :名無しさん@お腹いっぱい。 :02/03/25 19:03 ID:???
>470
増え続けてるってこと?

473 :Dream ★ :02/03/25 19:03 ID:???
>>471
「monazillaツールと課金及び転送量・鯖負荷問題を考えるスレ」
http://kaba.2ch.net/test/read.cgi/accuse/1016974669/423
です。

474 :夜勤 ★ :02/03/25 19:05 ID:???
html は index.html , subback.html じゃないかな、ほとんど。

475 :夜勤 ★ :02/03/25 19:06 ID:???
>>472
もちろん、
特に先週あたりからの増加はすごいぞ。
ねずみもまっつぁおー

476 :夜勤 ★ :02/03/25 19:06 ID:???
UpTime(game) = 2:06am up 10 days, 16:37, 0 users, load average: 8.17, 10.26, 12.01

477 :夜勤 ★ :02/03/25 19:09 ID:???
たとえば、love&curry はなんで、こんなに?
http://uptime.netcraft.com/up/graph?site=love.2ch.net&mode_u=on&mode_w=on&avg_days=30&submit=Redisplay+Graph

478 :夜勤 ★ :02/03/25 19:16 ID:???
UpTime(game) = 2:15am up 10 days, 16:46, 0 users, load average: 8.19, 8.41, 10.28

479 :名無しさん@お腹いっぱい。 :02/03/25 19:18 ID:???
夜勤さんgccとzlib使える環境は持ってるわけだから、Compress::Zlib モジュールを
コンパイルして、どこか書き込み権限持ってる適当な場所にインストールしたらどうでしょうか。

bbs.cgi の中で

use lib "/home/yakin/lib/perl"; # Compress::Zlib モジュールを置いた場所を指定
use Compress::Zlib;

とすれば、perlプロセス内でgzipできます。>>440 あたりが参考に
外部プロセスを呼ぶよりも負荷は明らかに低いから、是非やった方がいいと思います。

480 :Dream ★ :02/03/25 19:18 ID:???
>>477
http://uptime.netcraft.com/up/graph?site=www.yahoo.co.jp&mode_u=on&mode_w=on&avg_days=360&submit=Redisplay+Graph
yahoo.co.jpとか・・・・

481 :Dream ★ :02/03/25 19:20 ID:???
>>474
ああなるほど、そうですか〜。そうですよね・・・

482 :夜勤 ★ :02/03/25 19:25 ID:???
UpTime(game) = 2:25am up 10 days, 16:56, 0 users, load average: 7.07, 7.85, 9.12

483 :名有りさん@お腹へった ◆fSunOs.U :02/03/25 19:32 ID:???
*.htmlって現状では"Last-Modified"を吐き出してませんが,
これは恐らく*.htmlが"server-parsed"になっているためだと
思うのですが,SSIを使う必要がなければこれをoffにすれば
Apacheが余計なparseをせずに済むようになって負荷が減るのと,
"Last-Modified"を吐くのでブラウザ側でのキャッシュが効くように
なると思うのですが.

ところで,>>422を改造して,daemonizeして非同期実行させた上で,
5秒ぐらい待ってその間に発生した圧縮処理を1つにまとめてしまうというの
書いたんですが,bbs.cgi内部でindex.html等のロックをどうやっているかが
わからないとmmap()したところを読み出す時に死ぬかも......


484 :夜勤 ★ :02/03/25 19:36 ID:???
UpTime(game) = 2:35am up 10 days, 17:06, 0 users, load average: 8.97, 8.02, 8.57

485 :夜勤 ★ :02/03/25 19:49 ID:???
UpTime(game) = 2:49am up 10 days, 17:20, 0 users, load average: 7.24, 7.72, 8.10

486 :479 :02/03/25 19:54 ID:???
あ、>>440 を参考になんて書いちゃったけど、実際にはメモリ上のイメージから
非圧縮形式と圧縮形式で書き出さないと無駄なアクセス発生しちゃいますんで。
↓イメージとしてこんな感じで

use Compress::Zlib;

my $subjectContent = 'hogehoge' x 1000;

open(FILE,">subject.txt");
print FILE $subjectContent;
close(FILE);

open(FILE,">subject.txt.gz");
print FILE Compress::Zlib::memGzip($subjectContent);
close(FILE);


487 :夜勤 ★ :02/03/25 20:04 ID:???
UpTime(game) = 3:04am up 10 days, 17:34, 0 users, load average: 147.13, 62.36, 28.20

488 :夜勤 ★ :02/03/25 20:14 ID:???
UpTime(game) = 3:13am up 10 days, 17:44, 0 users, load average: 95.67, 49.60, 34.22

489 :夜勤 ★ :02/03/25 20:27 ID:???
UpTime(game) = 3:27am up 10 days, 17:58, 0 users, load average: 13.45, 21.31, 28.04

490 :夜勤robut :02/03/25 20:31 ID:???
UpTime(game) = 3:31am up 10 days, 18:02, 0 users, load average: 8.56, 8.68, 9.10

491 :夜勤robot :02/03/25 20:32 ID:???
u-o

492 :夜勤 ★ :02/03/25 20:33 ID:???
UpTime(game) = 3:32am up 10 days, 18:03, 0 users, load average: 52.34, 26.67, 27.43

493 :名無しさん@お腹いっぱい。 :02/03/25 20:36 ID:???
robutって・・・(´д`;)

494 :荒波 ◆8ARaNamI :02/03/25 20:38 ID:???
gameオモー。。。

495 :名無しさん@お腹いっぱい。 :02/03/25 20:40 ID:???
スタンド攻撃を受けている?

496 :夜勤 ★ :02/03/25 20:41 ID:???
UpTime(game) = 3:41am up 10 days, 18:11, 0 users, load average: 35.05, 30.62, 30.99

283KB
新着レスの表示

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

0ch BBS 2004-10-30