自作CGIを評価するスレ (672レス)
上下前次1-新
401: 371 03/06/25 01:13 ID:Q5i43+wA(3/3) AAS
FreeBSD2.2.8 + Perl 5.6.0でも実験したところ、20000件超えてるけど、特に問題なし。
FreeBSD2.2.2の方も、10000件行ってエラーなし。
合計30000件実験してみたけど衝突は起こってない模様(プロセスの譲り合いで片方のプロセスが
ブロックする現象は見られたが)。
単にrenameシステムコールが衝突するようなファイルシステムを持つOSを使ってるだけ
とか、そういうオチじゃなくて?>>398
402(1): 371 03/06/25 01:22 ID:??? AAS
ファイルが消える現象は、ロックファイルをディレクトリにすることで回避
# mkdir lockdir/lockfile
で、20プロセス同時起動で、30000件やってみたけど、全く問題なし。
さすがに30000回連続で20プロセスが同時に1つのファイルにアクセス
する状況はありえないだろうから、少なくともウチの環境上では
きちんとロック機構が機能してると思われる。
で、たった2プロセス同時起動で10000件持たないファイルシステムを
持つ環境がどんな環境なのかとても気になるので早く教えてください>>398
あなたの言う条件↓は満たしましたよ。
> 文句言う前に試せやハゲ。
省1
403: 03/06/25 01:30 ID:??? AAS
おっと、ご苦労さん。
マジで?
ファイル壊れない?
こっちの環境は、Win2kだけど。
> 単にrenameシステムコールが衝突するようなファイルシステムを持つOSを使ってるだけ
んな訳ない。
2kで、そんなバグ聞いた事ない。
ずっとテスト環境は2kだったからなぁ〜。
とりあえず、こっちもVineの環境があるから、そっちでも試す。
>で、たった2プロセス同時起動で10000件持たないファイルシステムを
省3
404(1): 371 03/06/25 01:49 ID:??? AAS
> こっちの環境は、Win2kだけど。
多分そのせいじゃないかなぁ。ファイルシステム何になってます?
こっちは今のところ30プロセス同時起動で30万件ノンストップで突破してるので、
スクリプト自体に問題があるとは思えない。
まぁ、このルーチンはrenameの堅牢性に頼ってるので、その点において汎用性は
薄いということを証明する形にはなったかも。
> 2kで、そんなバグ聞いた事ない。
1秒間に同じファイルを数十回renameする必要性ってあまりないからなぁ。
renameのファイルの取り合いって普通の状況だとまず起こりえないし。
ソース読んだら分かると思うけど、renameの空振り以外に原因は考えにくい
省1
405(1): 03/06/25 02:14 ID:??? AAS
>>404
ファイルシステムは、もちろんNTFS
Vineで試してみた。
たしかに、2kの時は途中ファイルが壊れてカウントが1に戻ったりしたけど、
Vineはそんな事なかった。
・・・が、おかしい。
3つのプロセスで動かしたが、ログがおかしい。
同じ数字のカウントをする場面がある。
3つのプロセスでカウントしていったら、
同じ数字がカウントのログとして出るのはおかしいでしょ?
省1
406(1): 371 03/06/25 02:28 ID:??? AAS
>>405
>>394のソース直した?部分的でなく、全体をロックで囲まないと誤動作するよ。
print文の直上直下にあるunlockとlockの2行を外せばうまく行くと思う。
407(1): 03/06/25 02:44 ID:??? AAS
>>406
あ・・・悪い。
修正してなかった。
ちゃんと動いてる。
もっと沢山のプロセスと、もっと沢山のループで試したかったけど、
Vineが入ってるPCのCPUが弱いんでやめた。
なんだ・・・今回の実験で、2kがいかに糞なのかが証明されたのか・・・?
結果は、壊れないファイルロックが存在したって事か?
・・・俺が、間違ってますた。 スマソ
408: 371 03/06/25 11:01 ID:??? AAS
>>407
> 結果は、壊れないファイルロックが存在したって事か?
昨日、あのまま30プロセス同時起動のまま寝て、今朝見たら400万件を
突破してました。もちろんノンストップで。
30プロセスが400万回連続で殺到しても平気だということなんで、
少なくともウチの環境では、ほぼ「絶対に壊れないロック機構」と言い切って
差し支えないと思う。
どうでもいいけど、このテストスクリプトだと、count.txtを書き込みオープンした
瞬間にプロセスが落ちるとカウンタリセットされるよね。堅牢なスクリプトを作ろうと
思ったらそこまで気を遣う必要があるかも。
省4
409: 03/06/25 14:12 ID:??? AAS
結論的には何が一番?
410(1): 368 03/06/25 18:02 ID:??? AAS
>>393さんがおっしゃってる通りたしかにスレ違いですが、
とても興味深い話題をありがとうございます。
>>402さんがおっしゃってることを試す価値はありそうなので、
とりあえずファイルを使うロックから、
ディレクトリを使うロックに変えてみたいと思います。
411(1): 03/06/25 22:47 ID:??? AAS
>>410
ないよ。flockが一番。
412(1): [sage ] 03/06/25 22:57 ID:??? AAS
>>411
NFS越しでも?
413: 03/06/26 06:18 ID:EBHZ+AEW(1) AAS
.
414(2): 03/06/26 09:03 ID:??? AAS
NFSなんか使うなよ(;´Д`)
415: 412 03/06/26 10:55 ID:??? AAS
>>414
お客さんでそういうトコ、多いんですよ(萎
だから仕事でflock使う際は、インストール先の
OSとファイルシステムは必ず確認。
416: 03/06/26 11:36 ID:??? AAS
なるほど(;´Д`)
417(1): 03/06/26 12:53 ID:??? AAS
>>414
十分有り得るよ。うちの大学もそうだし。
418: 03/06/26 21:01 ID:??? AAS
>>417
レガシーな大学でつね。
419: ◆5vUH/J4K/c 03/07/05 05:02 ID:??? AAS
420: 03/07/06 16:49 ID:orJjX/H+(1) AAS
別スレでrename失敗どうたらこうたら、言ってるんですが、
そんなにrename失敗することあるんですか?
上下前次1-新書関写板覧索設栞歴
あと 252 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.015s