![]() |
|
以下の内容は、サーバー時刻の設定に大きな不具合が観測された、2003/10/05のデータに関してのものです。 この不具合は、2003/10/07に一旦、解消されています。 | |
|
2003/10/05(Sun) 12:14:56 - 2003/10/05(Sun) 18:15:34の120件のLOGを次のリンクで参照できます。 iswebtime.txt SERVER_ADDR=172.20.4.70 のログ、1,2,23をみると、 time:アクセス時刻が、file:file作成時刻に比べて、9時間進んでいることがわかります。 23 file:2003/10/05(Sun) 13:26:12 time:2003/10/05(Sun) 22:30:29 172.20.4.70:-32657 2 file:2003/10/05(Sun) 12:15:01 time:2003/10/05(Sun) 21:19:18 172.20.4.70:-32657 1 file:2003/10/05(Sun) 12:14:56 time:2003/10/05(Sun) 21:19:13 172.20.4.70:-32657それ以外のマシンでも5分以上進んでいるものが結構あるようです。 また、3,4,5の【time:アクセス時刻】が、戻っていくのがわかります。 5 file:2003/10/05(Sun) 12:15:44 time:2003/10/05(Sun) 12:20:02 172.20.4.52:-258 4 file:2003/10/05(Sun) 12:15:36 time:2003/10/05(Sun) 12:20:36 172.20.4.74:-300 3 file:2003/10/05(Sun) 12:15:24 time:2003/10/05(Sun) 12:21:09 172.20.4.75:-345 すなわち、3から4に行く際に、【file:file作成時刻】は、 2003/10/05(Sun) 12:15:24 → 2003/10/05(Sun) 12:15:36 と12秒進んでいるにもかかわらず、【time:アクセス時刻】が 2003/10/05(Sun) 12:21:09 → 2003/10/05(Sun) 12:20:36 と、33秒戻っています。 これ以外にも、 (13,14)(35,36)(64,65)(84,85)(88,89)(90,91)(96,97)(99,100)(118,119) に、時間の逆戻りが見られます。 上記、プログラムのソースは、 http://midoriya-web.hp.infoseek.co.jp/cgi-bin/iswebtime/src.txt にて、参照できます。 (生ログ: http://midoriya-web.hp.infoseek.co.jp/cgi-bin/iswebtime/iswebtime.txt) iswebのサーバーにてファイルのアクセス時刻と、 timeで求めた時刻の間に、結構な違いが発生しています。 同時アクセスによるログ破壊を回避する為に、 lock処理を行いますが、この差が60秒以上あると、 以下のロジックでは、実質上、ロックが無効になってしまうのでは?
sub lock {
# 1分以上古いロックは削除する
if (-e $lockfile) {
local($mtime) = (stat($lockfile))[9];
if ($mtime < time - 60) { &unlock; }
}
ここは思い切って600(10分程度)くらいにした方がいいかもしれませんね?
if ($mtime < time - 600) { &unlock; }
| |
|
現在(2003/10/11)は、極端な時刻のずれは解消されているので60のままで問題ないと思われます。 ただ、「古いロックは削除」という処理の発生理由等を考慮すれば、10分程度にしていても実害はないでしょう | |
|
現在(2004/01/18)は、3分以上の時刻のずれが観測されていますので60のままでは問題があると思われます。 ただ、「古いロックは削除」という処理の発生理由等を考慮すれば、600(10分程度)にしていても実害はないでしょう |