アーカイブ

2009 年 3 月 のアーカイブ

ジャーナルファイル

2009 年 3 月 30 日 コメントはありません

クローラーの中にある行数をカウントする部分でIOを食いつぶしてるので
そろそろジャーナルファイルを作って管理しようと思う。

単一ファイルで書き換えた後に閉じなくても反映されてるんだったっけかなぁ?
ちょっと試してみよう。

管理方式はどうしようかなぁ?

カテゴリー: dat落ち, サーバー, 備忘録, 管理 タグ:

VS ffmpeg

2009 年 3 月 28 日 コメントはありません

今まで貯めてきた映像は殆どエンコードせずに、 DVD 化してきたため、

やたら容量に無駄が出たのですが、 今年のF1 を録画するに当たって mp4 化して、
余裕が有れば HDD に保存することにしました。

そんなわけで、 ffmpeg の設定を適当なジングル映像で詰めていたのですが、
ffmpeg のインターレース解除って、結構乱れが目立ちますね。
で、詰めていった結果がこんな感じの設定。

ffmpeg -threads 3 -y -i “hoge.mpg” -pass 1 -passlogfile “Temphoge.mp4″ -bufsize 1M -r 29.97 -b 3.5M -maxrate 4M -qmax 40 -vcodec libx264 -acodec libfaac -ac 2 -ar 48000 -ab 256k -f mp4 “Temphoge.mp4″
ffmpeg -threads 3 -y -i “hoge.mpg” -pass 2 -passlogfile “Temphoge.mp4″ -bufsize 1M -r 29.97 -b 3.5M -maxrate 4M -qmax 40 -vcodec libx264 -acodec libfaac -ac 2 -ar 48000 -ab 256k -f mp4 “hoge.mp4″

3スレッドなのは、保険みたいな物。

長い長いエンコードがはじまるお。

カテゴリー: パソコン, 備忘録 タグ:

行数のカウント

2009 年 3 月 24 日 コメントはありません

用途が用途だけに行数をカウントする処理を結構書いたりするのですが、
今まで file 関数で配列に入れて count 関数で取得という方法を主に使っていたんですよね。

最近になって、クローラーの改良時に実は foepn も結構早いんじゃね?
ファイルアクセスも減るんじゃね?という感じでベンチマークを取ってみました。

まずは、 file 関数を使った例。count も sizeof  もエイリアスなので、どちらでもOK。

$buf = file(“hogehoge.dat”);  //1001行のファイル
$count1 = count($buf);
unset($buf);

これは、1000回ループで 4.653011 秒という結果になりました。
一方 fopen を使ってカウントする例。

$fp = fopen(“hogehoge.dat”, “r”);  //1001行のファイル
for ($count2=0;!feof($fp),fgets($fp);$count2++);
fclose($fp);

こちらは、 3.800635 秒とコンマ7程度早くなりました。

しかし、結局1000回実行してやっとコンマ7という結果でした。
早いには変わりないと思いますが…、まぁこんなもんなのかなぁ。

カテゴリー: サーバー, プログラム, 備忘録 タグ:

NAS化の地上絵

2009 年 3 月 21 日 コメントはありません

メモリをまだ買っていないので仮想環境を作成できず、サーバーがNAS化している今日この頃。
一旦、新サーバーに退避させてデフラグを一気に実行したらさぞ、HDDの読み書きともに早くなるだろうなぁ。

ちょっとやってみるか。

構想では1TB*2でLinux RAIDを作成して外部公開用の仮想環境を作成し、
ローカル用の環境はもう一つ仮想環境を作って、そっちに仕込もうと思う。

メモリはとりあえず4G積んで、Domain0に1GB
外部公開に2GB、ローカル用に1GBぐらいの配分が出来ればいいと思ってる。

移行は5月までに出来ればいいなぁ。

カテゴリー: サーバー, 備忘録, 管理 タグ:

新鯖君

2009 年 3 月 14 日 コメントはありません

yasusaba_00

てなわけで、新鯖君を調理中。

yasusaba_01
MBはGIGABYTE製です。

 

SATA端子が充実。
ML115を買おうと思わなかったのは、AMD系と言うことも有るんだけど、
IDEが無いってのは過去の資産が使えないので結構痛いです。

IDEの空きポートが1つ、SATAの空きポートが5つあるので、
その気になればかなりのHDDを積むことが出来ます。

yasusaba_02

また、一般のATX電源が使えるので、電源容量の心配もありません。

yasusaba_03
ケースファンは自作で買うと高い山洋電気製を3つ搭載。
これはOEM専用の型番みたいです。

サイドパネルを明けるときは金具に注意しないと指にサックリ行きます。
というか、サックリ行きました\(^o^)/

また今度、もうちょっと鮮明な画像をうp予定

新鯖

2009 年 3 月 11 日 コメントはありません

==【配送内容1】====================
[1]Express5800/110Ge(C/1.80G(512)-80) NP8100-1447YP2Y (NEC)
商品コード: P812524391
販売価格 : 12,800円
(クーポン2,000円分適用済)
数量   : 1個

送料等: 400円
代引き手数料: 420円
送料無料: -400円
――――――――――――――
合 計: 13,220円
(うち消費税: 629円)

てなわけで、新鯖を手配。
Express5800/100Ge はCeleron 430 なんだけれども、
Pentium 4 換算で3GHz近いみたいなので、とりあえずは様子見。
メモリはまだ買ってないけど、8GB詰みたいなぁ。

あ、HDDも…。

カテゴリー: サーバー, 備忘録, 物欲, 管理 タグ:

PHPの気を付けたいところ

2009 年 3 月 9 日 コメントはありません

ファイルの中身を配列として読み込む file という便利関数があるんですが、
これにはちょっと使い時があります。

PHP には memory_limit という設定があり、この設定値を超えると
処理が出来ないため、エラーになってしまいます。

実は file 関数とこの設定値は結構リンクしていて、memory_limit をバケツに例えると
バケツに対してバケツの容量以下の水を扱うには良いのですが、
バケツに対して、25mプール一杯の水を注ごうとするとあふれてしまうのと同じように下記のエラーになってしまいます。
Allowed memory size of xxx bytes exhausted (tried to allocate xxx bytes)

つまり、あまりにも大きいデータを読み込む時に file 関数は向いていないのです。

こういった場合、どうしたらいいのか?
答えは簡単で、 fopen でファイルを開いて fgets すれば良いだけです。

fopen はファイルポインタですから、使用した時点ではファイルの内容は読み込みません。
fgets を使用してはじめて読み込むわけですが、  fgets は指定バイト数もしくはEOFまでの読み込みであり、
巨大なデータでも行端で切り刻んで読み込むことが出来るため、前述のようなエラーにはならなかったりします。

file_get_contents も file と同じようなものと考えて組んでいかないと変なところでエラーが出てしまうので、
使い所には注意するべきですね。

あと、 PHP は一度スカラー変数として定義したものは、スカラー変数としてしか使えないので、

<?
$hoge = 1234;

$hoge[0] = 5678;
?>

というようなものを書くと Cannot use a scalar value as an array というエラーになりますよん。

カテゴリー: dat落ち, プログラム, 備忘録 タグ:

見積もり

2009 年 3 月 6 日 コメントはありません

Express 5800/Ge
12,800円

Memory 2GB*2
4,090円

Total
16,890円

うーん、これなら安いかな。
8GB詰んでも2万1000円か。

カテゴリー: サーバー, 備忘録, 物欲 タグ:

The Hunter

2009 年 3 月 4 日 コメントはありません

hunter_00

超マイナーゲーのThe Hunter。

どんなゲームかというと、朝方に鹿さんを銃で撃つために探しに行くゲーム。
一応、無料ベータなのですが、申し込みからかなり経ってVIP Codeの記載されたメールが来ました。

↓4亀の記事

リアルさがウリのオンライン狩猟シム「The Hunter」,まもなくβテスト
http://www.4gamer.net/games/071/G007177/20080918049/

2時間やって、まだ1頭しか仕留められてないけど、おもしろい。
MGS3みたいなジャングルではないけど、森を散策するゲーム楽しいな。

公式
http://www.thehunter.com/

カテゴリー: ゲーム, パソコン, 備忘録 タグ:

並列クローラー

2009 年 3 月 3 日 コメントはありません

cURL関数の説明をちょっと読んだら面白そうだったので、クローラーの取得部分を並列化してみました。
これで、単線だったローカル線がいきなり、複々線化してさらに高架も建設したような感じに成長。
気になる取得数は3000スレ/hourをもうすぐ超えるのではないかというほど。

同時処理数をあんまり多くするとセッションがドンドン食われるので、
その辺りは負荷と兼ね合うようHTTPの標準的な数値に調整。

これでクローラーのメジャーバージョンはv6になった。

# Blu-ray マイスター検定クイズでも95%を超えたので、
# マイスター認定証が貰えるらしい。 現在109人中 16位だそうで。

カテゴリー: dat落ち, プログラム, 備忘録 タグ: