NAS(Synology DS120j/JP)の購入

デスクトップPCに8TBのHDD(Seagate ST8000DM004)を載せていましたが、ケースとの相性なのか、振動がかなりあります。常時「ぶーん」とうなってる。うるさいので他の部屋においとこうと思ったのと、PCの台数が増えてファイルの管理がややこしくなりつつあるので、思い切ってNASにしてしまおうと、Synologyの1ベイNASキット、DS120jを買いました。

2ベイのものだとRAID1にできるのですが、僕はRAIDに否定的です。というのも、例えばサージとか電源のトラブルがあればHDDは2つともダメになるし、水没したとか、火災とか、救えないケースはかなりあるんではないでしょうか。だから1ベイのシンプルなものでいい、という判断です。

要はRAIDはMTTRを短くする技術。それで安心感を持つようなものではなく、結局バックアップが大事なのです。バックアップ方法の色々については改めて書きたいですね。

どうせ買うなら最新モデル。この冬出たばかりのDS120jを買いました。CPUは先代と同じく、2ベイのモデルよりもしょぼいもの(デュアルコア、800MHz)が乗っているみたいですが、メモリは先代の256MBから512MBに増えたようです。USBが今時2.0なのも先代と同じだけど、たぶんあんまり使わないので良しとする。

HDDも、NASにはそれ用のHDDを使うとか、そういう話も聞きますが、どうせ壊れるときは壊れるのですし、手持ちのものを載せてしまいます。

買ったらさっそくディスクを取り付けて、添付のマニュアルに従ってセットアップをします。この冊子が結構しっかりしてるけど、画面のスナップショットのバージョンが古いのか、少しずつ違いがあります。

ひと通りセットアップをして使ってみると、どうもやたら多機能な機械になってしまっているので、再度インストールして最小の構成にしてみて、そこからスタートすることにしました。パッケージはいつでも追加できると思うし。

独自のOS(DiskStation Manager)というかインタフェースは、ブラウザ経由で使ってるとは思えないほど、普通のOSっぽく使えます。なかなかすごいです。感激しました。GUIで、思うことがだいたい設定できそう。家庭内なので、ごく一部の機能しか使いそうにないですが、慣れてる(?)人なら5分で設定を終えてしまいそうです。

LANに有線でつなげて、イーサネット経由でデータの転送。転送元のHDDが遅いことと、NASに入れたHDDも5400rpmのモデルなので、GbEの6割くらいを利用してるという感じです(70MB/sくらい)。とはいえ、稼働後は主に無線LANでアクセスするので、ネットワークがネックになるはず。

これで1万円強というのはたいへん素晴らしいのではないでしょうか。数が出るからこんな値段で買えるという気がします。

フレッツ(OCN)からeo光に乗り換えた

先月の下旬に、長年お世話になったフレッツとOCNを解約して、eo光と契約しました。

特にOCNで問題があったわけではありません。むしろルータ不具合時のサポート(当日に届いた)とか、NTTグループのすごさを感じました。乗り換えたのは、違約金の補填とか、ちょっとしたキャッシュバックとかもありましたが、決め手としては「eo電気」で電気代が安くなる分が大きい、と感じたところです。

また、5G/10Gbpsへの増速ができることも、面白そうです。すでに対応しているそうなので、気が向いたら切り替えができます。現状、無線LANが802.11acの状態で5Gbpsにしても意味がないと思うのでやりませんが、将来802.11axが当たり前になって、無線LANがネックにならなくなれば、ぜひ検討したいです。

乗り換え後、特に速度面では「早くなったのでは」と感じています。まだ1か月経っていないので大雑把にしかわかりませんが、少なくとも不満を感じるようなレベルではありません。

ウォークマン(NW-A55)とヘッドホン(MDR-1AM2)の購入

通勤時間に音楽を楽しむべく、MP3ウォークマンを買うことにした。色々試聴した結果、本体はNW-A55、ヘッドホンはMDR-1AM2をチョイスした。

NW-A55にしたのは妥協。本当はNW-ZX300がとっても良いなと思った。ただ、少々お高いのと、「これポケットに入るかな」と思ったところで諦めた感じ。ZX300がもう一回りコンパクトだったら悩まなかったと思う。

ヘッドホンは、通勤で使うならノイズキャンセル、という人が多そうだけども、僕はノイズキャンセルが苦手。なんだか「変なノイズ、変な音」に感じられてしまうときがある。3万円クラスの定評ある品物でそう感じるので、もうこれは相性なんだろう。そこで、音漏れの少なそうな密閉型から選ぶことにした。

MDR-1AM2は本来NW-ZX300との組み合わせが良いと感じたけど、NW-A55でも悪くはない。バランス接続にできないのと、やはりアンプのパワーだろうか、音の細さみたいなのはあるけど、十分許容範囲といえる。電車内で聞くのには大差ないと言えるかも。また、このヘッドホンは、スマホを含む(いけてない)機材のヘッドホン出力につないでも、まあまあ何とか鳴ってくれる。駆動はしやすい方なのだろうと思う。

音の傾向は、ご機嫌に鳴るポップス向きと思う。ベースやドラムスのクッキリ具合はなかなか大したもの。ギターやブラスも艶めいて聞こえる。ロックやジャズもよい。クラシックはどうでしょうね…

WordPressのチューニング(ページキャッシュ)

WordPressの表示を早くしたい。一方でPHPなどには極力手を入れたくない(CGIモードである)。

  • W3 Total Cache
  • WP Super Cache

というプラグインがメジャーどころらしいので、両方試してみた。

導入前

導入前の性能は、ab(100アクセス、10並列)で試したところ、7.38回/秒であった。超遅くはないけど、やっぱり早くはない。

W3 Total Cache導入

W3 Total Cacheを導入して、ページキャッシュのみを有効にしてみる(たぶん)。このプラグインは、かなり多機能でほかにも様々な最適化のオプションがあるので、いろいろ設定を変える余地はたくさんあると思う。

ページキャッシュを有効にして上記と同じくabで測ってみたところ、54.3回/秒であった。

何も変えてないのに7倍速くなった。すごいな、という印象。この手のものを試してない人は、是非ともやってみた方が良いのではないかな。

WP Super Cache導入

こちらは、W3 Total Cacheに比べると、ページキャッシュに特化したシンプルなプラグインのようだ。オプションは少なめで、導入の簡単さはこちらが上ではないだろうか。

ページキャッシュを有効にして、同じくabで測ってみた結果、46.5回/秒であった。

こちらのプラグインでも、6倍の高速化ができた。

なお、2つのプラグインについて、本当に同じ条件で比較ができているか自信が持てないので、どちらが早いかについてはコメントを控えたい。そもそもVPSであるので、サーバ全体の負荷のかかり方で性能は変わるものだ。

どちらのプラグインも導入は簡単であり、ちょっと設定するだけでずいぶんと高速化が図れる。この2つのプラグインの導入数の多さと、評価の高さが理解できる。

なお、ページのキャッシュがたまっていくと思うので、それを整理するという作業が必要になるかもしれないが、その点については調査していない。勝手にやってくれるのならありがたいのだけど、定期的に消す仕組みがいるかもしれない。

WordPressのチューニング(MySQL編)

WordPressの表示を早くしたい。まずはMySQLのチューニングを行ってみる。

情報収集して一つずつ試しては性能測定、とやっていたけど、効果があるのは「クエリキャッシュ」のパラメータだけだった。

Ubuntu16.04では /etc/mysql/mysql.conf.d/mysqld.cnf を修正すればよい。

修正前

query_cache_limit = 1M
query_cache_size = 16M

修正後

query_cache_limit = 4M
query_cache_size = 64M

これで、ほんのわずかに性能が良くなったので、これだけを適用しておいた。基本的に、CGIモードで起動しているPHPの処理時間が長くて、MySQLに費やしている時間はそれほどでもないと思える。

Lenovo V530s Small 購入

Lenovo V530s Smallを買いました。

机の上にはLGの4kディスプレイがあり、キーボードとマウスもつなげてノートPCを操作してましたが、そのノートPCがコイル鳴きするので、うるささに耐えかねて、新調しようと。デスクトップを床おきすれば、机の上のスペースが空くかな、という狙いもあり、コンパクトデスクトップを買うことにしました。

調達にあたっては、ともかく安さを重要視して選びました。Core i3以上のCPUを積んでいたらそれで良くて、あとは好き勝手に増設するのでなんでも良しと。注文したスペックは、 Core i3-8100/4GB/HDD 500GB といったところ。Optaneは外しました(どうせSSDにするし)、あとWiFi+Bluetoothは付けました。たしかDellとlenovoと一騎打ちになって、lenovoが安かったので決めました。

メモリはさっさと増設。4GBだったのを、16GB(8×2)に増設しました。どうせ定格での駆動なので、これも安さでチョイスしたもの。

SSDは、とりあえず手元にある、M.2 SATAのSSD(intel製・250GB)を使おうと思いましたが、なぜか認識しません。パーツの不良なのか、UEFIの設定が足りていないのか、などは真面目に調査していません。

次に試したCrucial P1 1000GB(CT1000P1SSD8JP)はばっちり認識して利用できました。特に設定を変えるところはなかったです。Crucialのページで「互換性あり」と表示されていたので、それを信じて購入した感じです。他のNVMe SSDも動くかもしれませんが、これだけしか試していません。ともかくこのやつはとても安かったので、気に入りました。

HDDはM.2 SSDと共存できたので、これまでUSBケースに入れて使っていたSeagateの8TB HDDをのっけることにしました。

16GB、SSD 1TB + 8TB HDDはなかなかご機嫌な感じがします。ネットの閲覧、お仕事のパワポの編集などはこちらでやるようになりました。雑誌や参考書を読んだりするのにも活躍してます。やっぱり4kパネルはありがたい。解像度は力ですね。

QLCのNVMe SSDベンチマーク

最近入手した二つのNVMe SSDは両方ともQLCのものです。それぞれベンチをとってみたので乗せることにします。

intel 660p 2TB (SSDPEKNW020T8X1)

メインのノートPCで利用。Samsungの970 EVO Plus 1TBで行こうと思っていたのだけども、3週間ほどで認識しなくなったので、こちらを代替品として入手。SSDが使えなくなるって珍しいですよね。 Samsungの方が、インストールとかzipの展開とかは速かったかなあ。でも普段の操作で腹が立つことはありません。当たり前か。

Crucial P1 1TB (CT1000P1SSD8JP)

デスクトップで利用。これを選んだ理由は安さだけど、Windowsの起動とかはHDDと比べると断然早いですね。当たり前か。

Ubuntu16.04のqmailを使ってセカンダリのメールサーバを設定する

このブログを動かしているサーバとは別に、バックアップ機を用意してるのですが、qmailを入れちゃいましたし、 せっかくなのでセカンダリのメールサーバにする手順を調べて、やってみました。

まずは、セカンダリの /etc/qmail/smtproutes にドメインと本来配送すべきサーバを書いておきます。

example.com:server1.example.com

みたいな感じで、1行ずつ書きます。簡単ですね。優先したいMXが2つある場合はどうするんだろう。分からないです。メールはキューにため込まないといけません。locals virtualdomains に書いてあってはいけません。配送されてしまいます。念のため確認しましょう。

メールの受信はしたいですので、/etc/qmail/rcpthosts には書いておきます。これはドメインを1行ずつ足せばよいです。簡単ですね(省略)。

メールの保存期間は、デフォルトで7日間となっています。これを変更したければ queuelifetime をいじるようですが、やっていません。大変なトラブルになったら、これを長くしておけば猶予がもらえるわけです。

設定を反映すべく、qmailを再起動します。

sudo qmailctl restart

あとは適切にMXレコードを書くだけです。ここは本当に使ってるネームサーバ次第なので、これだけしか書きません。基本的には「数値が小さい方が優先される」ので、メインが10なら、予備は20とか、そのように指定しておきましょう。

これだけでした。自分のドメインでも試してみましたが、思ったように動きました。簡単です。セカンダリのキューにメールがやってきたかどうかは qmail-qstat コマンドで分かると思います。

WSL(Windows10)のUbuntu環境でlame-3.100をビルドする

昔、さんざん標準とずれたOSでビルドをしていたころと比べると、Ubuntuで何かをビルドする、なんていうのは余裕に感じます。

ただ、今は欲しいものはaptとか、パッケージで入ってしまうことがほとんど。ビルドなんてやったことがない、という人も多いと思うので、そういう人のとっかかりになれば、と昔を思い出しながら書くことにしました。

ここでやってることは「割と普通」のお作法だと思うので、これで味をしめたら、何でも好きなものをビルドして使えますよ。

とりあえず、ビルドするにはソースコードが必要です。最新のlame(といってもそう新しくはなさそう)のソースコードは、SourceForgeにあります。もちろんWSL環境のUbuntuも用意しておいてくださいね。ここではその方法には触れません。僕は最新ではない16.04を使っていますが、まあ18.04でも同じでしょう、たぶん。

今のところlameは3.100というものが最新のようです。ダウンロードします。といってもその操作はWindowsのChromeでやってしまいます。lame-3.100.tar.gz(ソースコード)は、僕の設定だと「ダウンロード」に保存されます。保存先がデスクトップの人などは、各自読み替えてください。wgetでダウンロードできるという人は、もちろんそれでもかまいません。

さて、ダウンロードしたフォルダに動いてそこでコンパイルしてもいいんですが、ちょっと気持ち悪いので、Ubuntuのホームにコピーして作業します(ユーザ名は適宜読み替えをお願いします)。まずはソースコードの展開、それからconfigureをします。/usr/local/以下に入れるようにしましょうか。

$ cp /mnt/c/Users/kawaz/Downloads/lame-3.100.tar.gz ~
$ tar xvzf lame-3.100.tar.gz
$ cd lame-3.100
$ ./configure --prefix=/usr/local

何にもしていないWSLだと、エラーが出ます。makeもgccも、必要なツールが何もないんです。というわけで、それらはaptで入れちゃう。

$ sudo apt update
$ sudo apt install make gcc

うまく入ったら、もう一度先ほどのconfigureをします。僕の環境では、これでうまくいったように思えますね。そしたらいよいよコンパイル。makeします。僕のノートPCは2C4Tなので、並列度は4を指定。ただlameくらいの規模だと、指定しなくてもそんなに変わらないと思います。

$ make -j 4
$ sudo make install
$ ls /usr/local/bin

これで、/usr/local/binにめでたくlameが入ったのではないでしょうか。以降、lameコマンドを普通に利用できます。パチパチ。

こんな感じで、ソースをとってきて、tarで展開して、configureして、makeして、make installする、というのが一番多いのではないでしょうか。もちろん、ものによるので、下調べした方がいいですが、大まかにはこういう感じでやることが多いですね。これで最新のlameが使えますね。よしよしと。エディタとか好みのバージョンをビルドし始めると、キリがないですね。