S.C. MAGI-SYSTEM 日記
Diary
2009年になって、実に3年ぶりに更新再開。

hns - 日記自動生成システム - Version 2.19.9

2009年01月14日(水) [n年日記]

[天気:晴れ](新横浜) 起床:7:30 就寝:24:00

#1 [Web] アクセスカウンタ

ここのサイトの トップページ に SSI で上部にアクセスカウンタが埋め込まれているのに お気付きでしょうか?

このアクセスカウンタは、遠い昔、おそらく2000年あたりに 私がフルスクラッチでPerlで書いたものがベースになっています。
当時、イメージを出力するレンタルアクセスカウンタが主流 *1 でしたが、 私は w3m といったテキストブラウザがメインだったので、 イメージではなく、テキストでアクセス数が知りたくてこういうものを 作ったのです。
そのソースを久し振りにメンテナンスしてみました。

いやー、当時と今では書き方がずいぶんと変わったので、 久し振りに見るときたないものですね。(笑)
ちなみに、このカウンタは単純にアクセス数だけをカウントしているのではありません。
同一IPからの短時間(1時間以内)のアクセスはカウントアップしないように しているので、総アクセス数だけでなく、IPアドレスごとの直近アクセス日時を 同時に記録しています。
このデータの保持に Berkeley DB を用いています。
ちょっとデータの中を見たくて、Perlで展開しようとしましたが… 単純にDB中のデータを %hash 展開したら
pid 41859 (perl5.8.8), uid 1001: exited on signal 11 (core dumped)
メモリ不足で落ちました…ってどれだけデータが入っているんですか。

どうやら、問題なのは
foreach my $key (keys %{$href}) {
(snip)
連想配列内のキーをforeachで取り出しているところのようでした。
foreach では keys 関数によって array を生成するので、 キー数が多いととんでもないほどメモリを使うそうです。
こういうときは
while (my ($key, $val) = each %{$href}) {
(snip)
each を使うといいらしい。

確かに3万件近くデータがあるので、そりゃ落ちますわね…

Berkeley DBでも3万件ものDBを保持できることにびっくり。
そして、この数年間でそんなにも異なるIPアドレスからアクセスされていた という積み重ねにもびっくり。

ちなみに、このカウンタは画像出力にも対応しています。
以下、その例です。

スタンダードタイプ
Type 2

ちょっとおしゃれタイプ
Type 3

漢数字タイプ(笑) *2
Type 1
*1: 会津大学のアクセスカウンタが サービス終了 するというニュースもありました。
*2: 当時の流行が分かりますね。

2004年01月14日(水) [n年日記]

[天気:晴れ](研究室) 起床:7:30 就寝:28:00

#1 [Univ] 早

うちの研究室では毎週水曜日に朝9:30から掃除があるのですが、 今日は 久し振り に掃除に間に合いました。
とは言っても、着いたのは 9:35 くらいなので微妙に間に合ってないかも。

今、日記を見返していて気付きましたが、先週の水曜日も一応間に合ってたんですね。
なんだか毎回遅刻しているので、間に合うだけで "久し振り" と感じてしまうように なってしまったようです。
今日は早かったから、明日は遅いかも。

2003年01月14日(火) [n年日記]

[天気:晴れ](大学) 起床:9:30 就寝:25:30

#1 [Univ] いいサーバ ≠ 速い計算機

去年の年末に研究室に納入された 1U Dual Xeon ですが、 未だに 使える状態になっていません。(笑)

実はマシン自体は、ご存知 ぷらっとほ〜む でも販売されている Intel純正の1Uサーバ なのですが、 ATA-RAID の問題などから RedHat7.2 のインストールが難航していたのです *1

なんだかこの Promise の ATA-RAID カードってクセモノみたいですね。
確かに真面目なサーバ用途で使うにはオンボードRAID0というのは魅力的かもしれないですが、 純粋に 計算機 としてしか使わないウチのようなところでは 無用の長物 以外のなんでもないですね。
むしろ、この Linux のATA-RAIDドライバというのがえらく性能が悪く、 普通のIDE として *2 認識させることができないのです。
どうも、実ディスクとコントローラ間の転送がしっかりと UDMA100 にならない上に、 よく分からんエミュレーションが入るみたいで ディスクアクセスが遅い
つまり計算用の作業ファイルを山ほど作り、ディスクアクセスも致命的な 律速段階 となりかねない研究室の用途には本当に向いてないんです。

やれやれ。
面倒な機械を持ち込んでくれたもんだ。
こんなんだったら普通に秋葉でマザー買ってきて組み立てた方がなんぼも楽だったよ。
*1: 私はFreeBSDがいいのですが、 Linda の問題から Linux にせざるをえない状態なのです…
*2: FreeBSD でいう ar0 みたいな感じ?

#2 [Univ] ドク論発表打ち上げ

ドクター3年の先輩の発表が無事終わりまして、それをねぎらう飲み会。
例に漏れず、私はレモンハイ1杯で陥落。
でもありえないテンションにすごい(検閲削除)な話ばっかりでした。
…先輩をねぎらう話はどこへいったんだよ?


最近の日記
2019年06月24日
10年振り
2009年12月31日
定期アップデート
2009年04月03日
定期アップデート
2009年03月22日
定期アップデート
2009年01月26日
pomera
2009年01月23日
今日のBOT
2009年01月22日
BOT
2009年01月20日
Seagate HDD
PowerPCの備忘録
RSS feed
abuse
2009年01月19日
Windows 7 beta
2009年01月16日
perl-after-upgrade
2009年01月14日
アクセスカウンタ
2009年01月13日
ひとまず完了
2009年01月12日
7.1-RELEASE(適用)
2009年01月10日
hns 2.19.9
2009年01月09日
recursion no
以上、3 日分です。
先月 2019年08月 来月
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Namazu for hns による簡易全文検索
詳しくは 詳細指定/ヘルプを参照して下さい
検索式:

タイトル一覧
カテゴリ分類
Powered by hns-2.19.9, HyperNikkiSystem Project