68user's page 掲示板

Prev< No. 753〜758> Next  [最新発言に戻る] [過去ログ一覧]
No. 753 # 68user 2000/02/26 (土) 05:14
> 「この結果を元にほかのサーバーと比較するには意味が無い」
そうです。「Pentium133+FreeBSD と Pentium166+FreeBSD」とか、
「Pentium133+FreeBSD と Pentium133+Linux」などの load average を
比較するのは意味がないです。また、load average が2倍だから
と言って、負荷が2倍とか速度が1/2 ということもない、という
意図で書きました。

> 単純に、マシンの反応が遅い時の原因が、回線の影響かサーバーの負荷
> かを調べる用途に使うつもりです。
ということであれば、load average でいいと思います。

> /usr/bin/ や /usr/local/bin/ にあるコマンドを一つづつ調べるのも
> あまりの数に手を焼いていたところなので助かりました。
`load average' というキーワードを知っていれば、
    % strings -f /usr/bin/* | grep -i 'load average'
などとするのも一つの手ですね。

No. 754 # へにか 2000/02/26 (土) 08:34
この間示唆して頂いた、マルチスレッドの関連文書を調べる長旅に出た
ところ、68userさんのところにあるではないですか(echo関連)。灯台下
暗し・・・ 御恥ずかしい。
ただ、以下のようなメッセージが出たので、どうも僕の環境(後述)では
不可能みたいです。
The Unsupported function fork function is unimplemented at echo.pl line 36.

因みにperl -vの結果は以下の通りです。
version 5.005_03 built for MSWin32-x86-object
目的がテキスト変換なので、delegateみたいな形式(/-_-)で対応しようかな、
それともjavaでも使ってみようかな、それともPCにUnixをインストールしよう
かな、と悩んでいるところです(なんかどれも実行しなさそうですが)。

No. 755 # 68user 2000/02/26 (土) 19:13
> どうも僕の環境(後述)では不可能みたいです。
Windows では fork は使えませんので、select を使うしか
ないですね。

IO::Socket と IO::Select を使って
    http://X68000.startshop.co.jp/~68user/tmp/bogus-proxy.pl
こんな感じでしょうか。本当に実用段階まで持ってくには
まだまだ機能追加、バグ取りをしなきゃいけませんが。

ポイントは、全てのソケットからのデータを select 経由で
受け取ること。今はそうなってませんので、1つのソケット
からのデータが遅れると、そこがボトルネックになってしまいます。

No. 756 # Yuuki 2000/02/27 (日) 12:49
> Windows では fork は使えませんので
cygwinに入っているPerlはforkが使えるそうです。(試していません。)
http://sourceware.cygnus.com/cygwin/

No. 757 # へにか [URL] 2000/02/27 (日) 20:12
68user様;
どうも御教授、ありがとうございます。
現在、示して頂いたスクリプトを理解しようと勉強しています。しかし、
理解した上で改造するまでに、ちょっと時間がかかりそうなので(※)、
先にお礼を申し上げます。
※ ->とか、selectとかの概念がまだ無いので、アルゴリズムがまだ
        理解できずに停止しています。
また、進捗があったら、ご報告します。本当にありがとうございます。

# http://X68000.startshop.co.jp/~68user/tmp/bogus-proxy.pl は、
# ひょっとして、僕の質問のために作って頂いたものですか?
# だとしたら、大感激です! ←違っていたらすいません。

Yuuki様;
どうも貴重な情報、ありがとうございます。
早速ダウンロードして、68userさんのecho.plを実行したら、とりあえずforkは
するみたいなのですが、残念なことに、forkしたとたんに、子プロセスが一般保護
違反を起こしてしまう(kernel32.dll)みたいです。多分、僕の環境が一般的じゃ
ないので、それが原因じゃないかな、と思っています。現在、解析中です(←時間
がかかりそうですが・・・)。
因みにcygwin32はB20(full.exeのほう)です。perl -vは以下の通りです。
This is perl, version 5.005_62 built for cygwin
折角情報を頂いたのに、生かせなくって、申し訳ないです。

No. 758 # 68user 2000/02/28 (月) 03:59
> selectとかの概念がまだ無いのでアルゴリズムがまだ
> 理解できずに停止しています。
考え方は http://X68000.startshop.co.jp/~68user/net/echo-4.html
同じです。モジュールを使うことで、ちょっとだけすっきりと書けます。
ここらへんは、そのうち web で解説を書くつもりです。

> ひょっとして、僕の質問のために作って頂いたものですか?
自分で使おうと思って、たまたま作ってました :-)
一応、GET だけはできるレベルのものを置いておきます。
    http://X68000.startshop.co.jp/~68user/tmp/1st-proxy.pl
shutdown あたりが とてもあやしい。

> cygwinに入っているPerlはforkが使えるそうです。
あ、そうなんですか。Windows 環境で perl を動かした
ことがないので、適当に書いてしまいました。

Prev< No. 753〜758> Next  [最新発言に戻る] [過去ログ一覧]