ファイルサーバの起動用HDDがUSB接続の2.5インチHDDになって(2012年6月27日の日記参照)3ヶ月以上経ちました。相変わらずHDDは熱いですが、これから涼しくなりますし特に心配はないでしょう。普段、起動用HDDにアクセスしないせいもあって、心配していたパフォーマンス劣化も気になりません。
あえて不満を書くならHDDが筐体の外に寝転がっているから落として壊しそうなこと、見た目が格好悪いこと、です。
どうせUSBから起動するなら、いっそUSBメモリにしてしまってディスクレスマシンにしてしまいましょう。
梅田に行く用事があったので、ヨドバシに寄ってUSB 3.0対応のUSBメモリを買いました。Princeton PFU-XJ3/64GWです、6,980円でした。他メーカーの64GB品もありましたが、軒並み10,000円台で買う気がしません…。
いかにも安っぽいUSBメモリでしたが、買うときはUSB 3.0対応っていうくらいだから、そこそこ速いんでしょう?と思っていました。後々、これが大間違いだったことがわかります…。
結果だけ言えば、読み込みこそ速いものの、書き込みに問題があって、使い物になりませんでした。別件で買ったSDHCクラス4のカードに、書き込み速度で負けてしまいました。遅すぎです。
論より証拠ってことでベンチマークです。ベンチマークを取った環境は、Lenovo ThinkPad Edge E420カスタムオーダー(Core i5 2515E, メモリ4GB, Windows 7 64bit)です。
我が家にはUSB 3.0が使えるWindowsマシンがないので、USB 2.0接続で計測しています。読み出しについてはUSB 2.0が足を引っ張って頭打ちしていると思われますので、参考程度に見て下さい。
今回買ったUSBメモリから行きましょう。結果は読み出し速度が30MB/s(おそらくUSB 2.0が足引っ張ってる)で、書き込み速度は5MB/sと異常に遅いです。ランダムアクセスなんか、もうハエが止まるぜ、ってレベルの遅さです。
USBメモリ
次に、別件で買ったSONYのSDHCクラス4カードです。読み出し速度こそ完敗ですが、書き込み速度は完勝です。これだけ速度出てもクラス4なのねー??
SDHCカード
このUSBメモリをファイルサーバの起動用メディアとして使えるか?というと、残念ながらNGです。百歩譲ってWriteが遅いのは許しても、ファイルコピーなどすると書き込みがフリーズするのがダメです。せっかく買いましたが…どうしようかね、これ。
代わりのUSBメモリについては、速いと評判のSanDiskのSDCZ80-064G-X46を買いました。送料込みで5,945円です。PFU-XJ3/64GWより安いんですけど…。びっくりですよ。
ベンチマークはネットにありますが、せっかく買ったのだし、商品が届いたらベンチマーク取って続報を載せようと思います。
ちゃんと調べてから買おうね!という当たり前の教訓しか得られなかった割に、決して安くはない勉強代を払う羽目になりました…。ほんと、何やってんだ俺…orz
(参考)ちなみにノートPCの内蔵HDDはこのくらいの速さです。ノートPCのHDDも意外と速いのねー。
内蔵HDD
速いと評判のSanDiskのSDCZ80-064G-X46を買いました(2012年10月13日の日記参照)。注文してから2日で届きました。週末に買いに行くより、Amazonで注文したほうが早いな…。
ベンチマークを取りました。さすがに速い。
高速USBメモリ
ノートPCの内蔵HDD(SATA接続)と比較しても悪くないです。さすがにUSB 2.0が足を引っ張っているので、シーケンシャルアクセス性能では負けますが、ランダムアクセス性能ではむしろ勝っています。これは使えそうですね。
先週の再掲になりますが、ノートPCの内蔵HDDはこのくらいの速さです。
内蔵HDD
いまさらですが、ニコニコ動画にニコニコAPIというのがあることを知りました。
コメントとか動画情報とかいろいろ取れるようですが、中でもgetflvといういかにも「FLVをダウンロードしてくださいね!」と言わんばかりのAPIがあります。
Javascriptの勉強(特にXMLHttpRequest)がてら、getflv APIで動画ファイルの場所をとってきて、動画タイトルの下に [Download] というリンクを生成するスクリプトを作ってみました。
自分で使ってみたら意外と便利だったので、下の方にコードも載せておきます。
アドレスバーにスクリプトをコピペすれば動きますが、面倒くさいのでスクリプトをブックマークに登録すると便利です。
下記をコピペしてブックマークのアドレス部分に貼り付ければ動きます。改行とかスペースなんざ無視してぶち込んでください。ブラウザさんは寛容なので細かいことは気にしないのです。
javascript:
function received() {
if (request.readyState == 4 && request.status == 200) {
/* received */
var strurl = decodeURI(request.responseText);
strurl = new String(strurl.match(/url=[^&]+/));
strurl = strurl.replace("url=", "");
strurl = decodeURIComponent(strurl);
var btn_container = document.getElementById("videoHeaderDetail");
var btn = document.createElement("a");
btn.href = strurl;
btn.style.fontSize = "2em";
btn.textContent = "[download]";
btn_container.appendChild(btn);
}
}
var docurl = document.URL;
var doccookie = document.cookie;
var flvurl = docurl.replace("/watch/", "/api/getflv/");
var request = new XMLHttpRequest();
request.open("GET", flvurl, true);
request.withCredentials = true;
request.setRequestHeader("Cookie", doccookie);
request.onreadystatechange = received;
request.send("");
ニコニコ動画:Q(プレミアム会員)環境にて動作確認済みです。
ブラウザはSeamonkeyで動作確認済みです。
おそらくFirefoxでも動くと思います。IEでは動かない(XMLHttpRequestがない)ようです。他のブラウザは見ていないですが、もし動いたら教えてくれると嬉しいです…。
修正BSDライセンスです。利用、改変、修正はご自由に。
公開されているAPIを使っているだけなので、怒られるようなことはしていないはずですが、このスクリプトを使って何か問題が起きても、責任は取れません。あしからず。
コードの見た目がJavascriptぽくないのは、ひとえに私の腕がヘボいせいです。精進します。
ノートPCの液晶がへっぽいせいか、以前よりサイトの背景が光り輝いていて目が痛いので、各配色の彩度を少し下げました。
今までは見た目と山勘で色を決めていたのですが、少しは理論的に決めてみようと思い、ノンデザイナーのための配色理論を参考に、HUE/360を使用して決めました。
以前と同様に緑を背景に、強調の青字および強調の赤字、仕切りや枠などに緑を使いました。確かに彩度が下がって眩しさが軽減されました。ちょっと、ボワーっとした印象になりましたけど、この方が目が疲れないんだろう。きっと。
前の設定色のまま放置した部分(カレンダーとか、白抜きの見出しとか)が浮いてしまっていてイマイチです。でも、もう使える色が紫だのピンクだの変な色しかないのだ。困ったねー。
日ごろから使っているThinkpad Edge E420がCore i5の割に遅いなあ?と思っていたのですが、どうも遅いメモリが付いている疑惑が出てきました。
(10/28追記: 勘違いでした。ちゃんとDDR3-1333が付いていました)
CPU-Zの表示が間違っていなければ…ですけど。BIOSから見る方がより確実ですが、残念なことにE420はBIOSから設定を見ることができません。オンボードメモリのためPCを分解しない限り型番を調べることもできません。
私が使っているマシン(※)のCPUはIntel Core i5 2450M/2.5GHzです。Intelのサイトを見ると、対応メモリはDDR3-1066/1333とあります。しかしE420にはSamsung DDR3-667MHzが付いているようです。そりゃ、遅いほうに倒しても問題は少ないでしょうけど、定格の半分のメモリを付けているとは思わなかったな…。
(10/28追記: 勘違いでした。DDR Clock周波数が667MHzと書いてあるだけで、DDR3-xxxx流で書けばDDR3-1333で、PC3-10600でした。)
(※)カスタムオーダーなので部品は注文の仕方によって違います。
完全にボケてました。CPU-Zの表記はDDR Clock Freq. で667MHzですから、データレートは2倍の1333MHzつまりDDR3-1333でした。アホなこと書いてすみません…。
しかも横にPC3-10600って併記してあるのに全然見ていませんでした。反省のため消さずに残しておきます。
デスクトップ(Core 2マシン)よりもっさりしているのはなぜなんだ。ますますわからん…。