Rasbian(debian8)でLet’s EncryptのSSLが動きました。
元ネタは https://www.websec-room.com/2015/12/04/2380
今回、私はapacheのpluginでやりました。
もともと、webはDDNSとras pi 2BでRapidSSLで構築していましたけど、IoTでなにかやろうと思うとやっぱり暗号化は欲しいところです。3ヶ月しか有効期限がないですけど、その辺はおいおいcrontabで自動かしていきます。。。
Rasbian(debian8)でLet’s EncryptのSSLが動きました。
元ネタは https://www.websec-room.com/2015/12/04/2380
今回、私はapacheのpluginでやりました。
もともと、webはDDNSとras pi 2BでRapidSSLで構築していましたけど、IoTでなにかやろうと思うとやっぱり暗号化は欲しいところです。3ヶ月しか有効期限がないですけど、その辺はおいおいcrontabで自動かしていきます。。。
・NEC(個人向け)
http://121ware.com/navigate/support/info/speciallylist.html
部品代 実費 作業料 無料
・エプソン
http://www.epson.jp/support/misc/saigai/
・ドスパラ
http://www.dospara.co.jp/5press/2016/0421b
部品代実費のみで修理
・HP
http://h50146.www5.hp.com/info/whatsnew/hpi/fy2016/fy16-03.html
技術料無料。部品代、出張料半額
・富士通
http://azby.fmworld.net/support/info/disaster/?supfrom=top_info
3割引
・レノボ
http://www.lenovo.com/news/jp/ja/2016/04/0417.shtml
部品代実費
気がついたら随時追加していきます。
基本的にキャッシュに頼った高速化はキャッシュミスが発生したときのペナルティーがあるので、なるべくボトルネックになる部分を特定して、それを解消するべきだと思っています。
例えばHDDをSSDに完走しての高速化とか、十分なメモリを積んで仮想記憶に頼らない運用とか。ソフトウェアに関しては時間のかかる処理はさせない、どうしても外せない時間のかかる処理は計算できるものはあらかじめ計算してオンデマンドでの処理を減らすなど。(これにはデーターベースのインデックスの整備も含まれます)
CPUを増やしての高速化は費用対効果考えると割と後回しにしたい高速化技法ですね。でも、GPGPUやFPGAで割と単純だけ処理するデータ量が莫大なものを処理する方法はいいと思っています。
実際にはコスト対効果を狙って、良く使うデータだけバイト単価の高い高速記憶装置(キャッシュメモリー)に置いて高速化。
APCを選択したのは、xhprofというPHPのプロファイラーで一番時間かかっているのが、日本語化処理だったので。(次に遅かったのがmysql部分。)
さて、今回sakuraインターネットのVPSでやたらwordpress(BuddyPress,bbPress付き)が遅くてどうしようもなかったのでいろいろ調べてみました。
まず、topコマンド。CPUタイムは10%も消費していません。disk I/Oが問題なんだろうと当たりをつけてswapoffコマンド。仮想記憶を停止します。これはメモリ消費が1GB中40%程度だったのでそうしました。
次にSSDのサーバーに載せ替えてもらえないかと打診したら予算の都合で却下。
まあ、ある意味に予定調和。(苦笑)
ちなみに、
# dd if=/dev/zero of=aaa.bin bs=1024 count=1024000
1048576000 bytes (1.0 GB) copied, 10.5271 s, 99.6 MB/s
# dd if=aaa.bin of=/dev/null
1048576000 bytes (1.0 GB) copied, 98.8714 s, 10.6 MB/s
disk readがお話にならないくらい遅い。通常のデスクトップPCで80MB/sくらいです。
この状況だとdisk readを最小に抑える工夫が効果ありそうですね。
wordpressのDB構造、インデックス(計算できるところは先に計算しおくタイプの効率化)が全然やっていないので(まあ、プラグイン都合で変わるのでwordpress本体ではどうにも出来ないし、プラグイン側でDB構造にちょっかいだすわけにもいかないんでしょうね。)しかたない部分はあります。
そんなわけで、PHPにAPCを入れました。共有メモリにある程度一度計算した内容をバッファリングしてくれます。
これで一発目は仕方ないにせよ、二回目以降はまあまあ実用的な速度で動いてくれるようになりました。とっても不本意。
APCを選択したのはxhprofというPHPのプロファイラーで時間がかかっているのが日本語化しょり、ついでmysqlのアクセスと特定できたから。
DBのインデックスの見直しは時間ができたらやることにして、当面はコンテンツの流し込みですねー。