
巷で噂?のパーソナルクラウドを実現するハードウェア「Pogoplug」。
日本国内ではソフトバンクBBが販売することになりデータセンターも日本にできて速度面での懸念も消えつつある。
けどソフトバンク品質を心配するユーザーもちらほら・・・
ともあれ、そんなPogoplugの最新の機器「Pogoplug Series 4」が米国で発売されたのでどんなものか興味津々。
価格は$99.95。でも日本での発売時期はわからない。されるのかもわからない。
じゃあ個人輸入でもしてみっかなと。円高だしね。日本で正式に発売されてもマージン乗っかって多分高いし。
調べてみると、既存ユーザー向けには優待クーポンがあって、(既存ユーザーじゃないけど)$49.95で買えるようだったので、それくらいなら送料込みでも1万以内で買えるだろうということで購入。
購入にあたってはHopShopGoっていう買い物代行、もしくは買ったものを配送だけしてくれるサービスを利用した。
仕組み的には米国の住所が与えられて、そこに届いた荷物をユーザーの本当の住所に配送してくれる、というもの。
こちらは荷物の大きさや重さによるけど最低ラインが$28.20からと利用料は結構かかる。
でもまぁいっかってことで利用することにした。
年末に注文して、正月休み中に届いたよ、のメールが来た。早速配送の手配を進めて送料の決済、に進むと割引が効いたみたいで送料は500円程度の支払いで済んじゃった。なんだこの価格w国内送料より安いんじゃねーか?
実物も約$50だから4000円くらいで買えただろうし、1万どころか5000円もかからず購入できちゃった。
それでちょうど正月休みが明けた日に仕事から帰宅すると荷物が届いてた。
開梱して、これまた年末に新宿ビックカメラで投げ売りされてた1TBの外付け2.5インチHDD(5500円くらい)を繋いで完了。
設定らしい設定はせずに動き出した。
iPhoneアプリもインストールして、とりあえずカメラロールの写真を自動アップロードし始めた。
噂では速度が遅いと聞いていたけど、まぁこんなもんじゃない?ってくらいの速度は出ているっぽい。特に不満なし。
これで俺と嫁のiPhoneの写真を半自動でどんどん放り込める。
ただアプリの品質で、大きい動画ファイルがあるとそこでハングしてアプリが落ちちゃう。これさえ改善されれば文句ないな。
iCloudのフォトストリームが一番使い勝手が良い(iOSに組み込まれてるから当然)んだけど、無料枠で使える容量が少なすぎる。
それに似たことをやりたくてPogoplug買ったようなもので、実際はアプリ立ち上げる手間はあるものの(これが半自動と書いた所以)、そこから先は自動的にカメラロール読んで、新しいやつだけアップロードしてくれるから、その点は概ね満足している。
ちょうど昨年いっぱいでAmazon EC2のマイクロインスタンスで稼働させていたこのブログの無料期間(1年)が終わった。
さてさてどうしたものかな、とぼんやり考えていたのだ。
有料になって価格がどの程度なのかイマイチよくわかってなかったので、「安ければこのままでもいいかな、移行も面倒臭いし」くらいに思ってたのだけど、ちょっと計算してみた。
マイクロインスタンスは$0.027/時なので、ひと月を30日とすると$19.44になる。
この他、EBS(ストレージ)、トラフィック、固定IPの利用料が微々たるものだけどかかってくるので、ざっくり言えば毎月$20くらいかかる。
今は円高だから1ドル80円として換算しても1600円かかっちゃうことがわかった。(もっと早く調べとけと思ったわ)
マイクロインスタンスのスペックは相当低いのにそんだけコストがかかるのはう〜ん・・・
それくらいならさくらのVPSで980円払えばもっと良いスペックの環境が使えるし、個人のライトユースではAmazon EC2を使うメリット(コストメリット)ってあんまりないな、と思った。
で、さくらのVPSをはじめ、他のクラウドもしくはVPSを探してみると結構良さそうなのがある。
KDDIのCloudCore、ServersMan@VPSとか。
安い、早いってのもあるもんだ。けどこんなテキトーなブログ運営するのに金かけることそのものにも抵抗がw
というわけで自宅で大活躍中のNAS(Thecus N4200)のアドオンモジュールを眺めていたら、昨年末ギリギリのタイミングでWebserverモジュールが公開されているではないか。なんてタイムリー!ついでにSSHモジュールまでありやがる。MySQLもある。
PHPは元々動くようになっているから、このブログのエンジンであるWordpressを動かす為の要件は揃ったことになる。
NASにモジュール入れて、Amazon EC2からデータ引っこ抜いて、ドメインのDNSを自宅に変更して〜ってやれば割りとあっさり動いたのでまずは一安心。
一点問題があったのは、NASはその管理画面がWebなのでそこでまずApacheが80番ポートで動いている。
さらにWebserverモジュールを追加すると新たにApacheが増えて10080番ポートで動くようになる。
WordPressは80番か443番のポートでしか稼働しない仕様らしいので、ここは問題だった。
そこでSSHモジュールを入れて、まずNASにSSHでログイン。管理用Apacheのhttpd.confを書き換えて8000番で動かすように変更。
そんでWebserverモジュールの10080を80に同じく変更して回避することにした。
結果、今このブログが外から投稿できているのでうまくいっているようだ。
速度的な不満も特に感じない。NASのCPUはAtomだし、メモリは1GBしかないんだけど、全然いけるもんだ。
何よりお金かけずに稼働環境ができたことが満足。NASの拡張性に感謝というところだ。
親父がau版iPhone4Sを購入した。
「写真とか動画をTVに写したいんだけど」というのでAppleTVを奨めた。
ウチには無いので、実家にセットアップしに行ったときに色々(というほどやることない)触ってみた。
主たる機能としては映画とかをオンデマンドで購入して見られるよ、というSTBなので、iPhoneとの連携機能はおまけ程度だろうと思ってた。
単純にTVでiPhone内のコンテンツが再生できるってだけなのに、、何故か楽しい!
価格も8800円とリーズナブル。
俺も!と衝動買いしそうになったけど、A5プロセッサを搭載してFullHDに対応した次期モデルがそろそろ出そうな感じ?なのでひとまず我慢することにした。
一見タイトルと関係無い前フリのようだけど、要するにウチのNAS内のコンテンツを実家で親父のiPhone経由でテレビに写せたら面白いんじゃね?と思ったわけだ。
そしたら孫の写真とか動画をわざわざメールで送ったり、DVD焼いてあげたりせずとも、リアルタイムであっちでも見られるじゃん、と。
じゃあまずは外から自宅内のLANに入れるようにしよう、ということでVPNを張ることにした。
iOSは標準でL2TP、PPTP、IPsecのVPNに対応しており、昔使っていたYAMAHAのRT58iというPPTPサーバー機能を持ったルーターがあったので、PPTPを使うことにした。
が、ここで問題発生。
RT58iを素直にルーターとして使えるネット環境なら問題ないのだけど、ウチはauひかり回線を使っていてルーターはレンタルのものを使うことが必須になっている。
ググったところ強引に置き換えられないこともないようなのだけど、auひかりのグローバルIPの割り振りはDHCPで行われていて、そのときにルーターのMACを見ているらしいので、置き換えるルーターのWAN側のMACを書き換えることができれば、という条件付きらしかった。
ただしIP電話やテレビ等のオプションを使っていない場合に限り、である。
(レンタルルーターに電話が繋がっているから当然っちゃ当然だわな)
となると、、レンタルルーターを使いながらRT58iも使う方式を採るしかないわけだが。。RT58iにはルーターモードをオフにする、というような設定は無さそう。VPNの設定をしようとすると、プロバイダ接続が必要だから先に設定しろみたいなこと言われるし、どうすれば・・・
ここでRT58iを使うのは諦めて、ネットブックとか小型PCを買ってVPNサーバーに仕立てようかなと思ったんだけど、そこまでコストと手間を掛けるほどでもない気がするしなあ。
さてさて、どうしたものか。
Apache + PHP + MySQLというごくスタンダードな構成で稼働させていたのだけど、Amazon EC2のマイクロインスタンスはメモリが600MBくらいしかないので、かなり厳しい。
Apacheの高機能なとこなんてほぼ使わないし、MySQLも1アプリで専有するには冗長だ。
でも高機能ゆえにメモリを食う。
メモリを食いつぶされてMySQLが落っこちたり、レスポンスが遅かったり、というのが頻発しているので、今回は軽量高速と評判のロシア製Webサーバ、nginxに乗り換えることにした。
http://nginx.org/
ソースをダウンロードしてきて、
# ./configure \
–without-mail_pop3_module \
–without-mail_imap_module \
–without-mail_smtp_module
# make
# make install
nginxではApacheのようにPHPモジュールはないので、FastCGIで動作させる必要がある。
今回はPHP5.3以降でビルトインされているPHP-FPMという機能を使用する。
これにはビルド時に有効化しておく必要があるので、configureからやり直す。
# ./configure \
–enable-fpm \
–with-fpm-user=www \
–with-fpm-group=www \
–with-mysql=/usr/local/mysql \
–enable-mbstring \
–enable-mbregex \
–enable-zend-multibyte \
–with-pdo-mysql
ウチの場合はこんな具合。
コンパイル、インストールして、nginxとphp-fpmを起動する…前に各コンフィグを設定しておく。
http://www.blabber.jp/2011/05/10/my-production/
こちらのサイトを参考にさせていただいた。
ドキュメントルートなど環境に応じて読み替えて編集した上で起動。
これだけで特に問題なく移行は完了した。
速度は全然違う。超速い。
次はWordPressで使用するDBをMySQLからSQLiteへ移行したいのだが、3.2ではプラグインが対応していないのか、うまく動作しなかった。
http://wordpress.org/extend/plugins/pdo-for-wordpress/
ここまでできると、シンプル構成かつしょぼいスペックでも高速に動作させられるのになぁ。。
JSON化ライブラリとしてJSONICにいつもお世話になっていたのだけれど、先日Jacksonというものもあると知った。
検索してみると、パフォーマンス対決だとJacksonの方が優れている様子。
けど、両方ともバージョンが少々古いので、今のバージョンに合わせて自分で計測してみた。
計測の仕方は、http://d.hatena.ne.jp/terurou/20101031/1288528835でやられていることを真似っこさせてもらった。
計測したバージョン
- JSONIC 1.2.5
- Jackson 1.8.0
赤字が最速。単位はミリ秒。
| 32bit | 64bit |
| JSONIC | Jackson | JSONIC | Jackson |
| Map 1K × List 1K | 211.977 210 | 376.145 012 | 250.621 382 | 367.282 753 |
| Map 1K × List 10K | N/A | N/A | 2783.396 758 | 1124.143 062 |
| Map 10K × List 1K | N/A | N/A | 2749.805 233 | 1136.979 922 |
| Object × Map 100 | 43.277 333 | 219.527 111 | 58.154 460 | 251.519 015 |
| Object × Map 1K | 56.763 343 | 229.245 484 | 86.889 636 | 264.748 131 |
| Object × Map 10K | 90.846 214 | 260.480 707 | 169.640 452 | 380.085 965 |
| Object × Map 100K | 240.884 561 | 367.801 075 | 316.793 623 | 511.514 536 |
| Object × List 100 | 45.504 090 | 221.252 371 | 56.039 341 | 262.580 116 |
| Object × List 1K | 55.739 361 | 285.683 441 | 89.576 145 | 267.099 984 |
| Object × List 10K | 86.924 510 | 302.322 697 | 157.678 783 | 352.355 867 |
| Object × List 100K | 214.178 360 | 337.831 046 | 294.495 399 | 441.202 306 |
概ねJSONICの方が良好な成績が出た。
比較的少ないデータを扱う場合にはJSONIC、大量な場合はJacksonの方が速いのかな。
とは言え、Jacksonが上回るケースって相当大きなデータ量なので、普段使いにはJSONICでいいかな、と思う結果になりますた。
LinuxでPostgreSQL+PostGISをソースからビルドしてインストールしたときにはtemplate_postgisデータベースが作成されない。(当たり前だけど)
無いと不便なのでメモ。
initdb –encoding=UTF-8
createdb template_postgis
createlang plpgsql template_postgis
psql -d postgres -c “UPDATE pg_database SET datistemplate=’true’ WHERE datname=’template_postgis’;”
psql -d template_postgis -f /usr/local/pgsql/share/contrib/postgis-1.5/postgis.sql
psql -d template_postgis -f /usr/local/pgsql/share/contrib/postgis-1.5/spatial_ref_sys.sql
psql -d template_postgis -c “GRANT ALL ON geometry_columns TO PUBLIC;”
psql -d template_postgis -c “GRANT ALL ON spatial_ref_sys TO PUBLIC;”
もう半年くらい放ったらかし・・・
仕事に家庭にと、なんだかんだでバタバタしている毎日。
久しぶりの投稿に久しぶりの買い物をしたのでその内容をば!
何を買ったかといえば、、、液晶ディスプレイアームだ!
エルゴトロンのLXデスクマウントアームってやつ。
http://www.ergotron.com/tabid/65/prdid/351/language/ja-JP/default.aspx
PC関連なんだけど、パフォーマンスとかに直接繋がらないものに投資するのって後回しになりがち。
でもずっと前から欲しかったから、やっと入手できて満足!
想像してたより机の上もすっきりしたし、使い勝手も上々だ。
先週の金曜に注文して今週の木曜に届いた。
3〜5営業日で発送とあったので、ちょうど1週間で届いたのは早かったのかな。



いつもながらApple製品のパッケージングは見事です。
化粧箱を開けた瞬間から、本体を触れるまでの演出?何かが違う。こだわりを感じる。
手に持つとメチャクチャ薄い。でも超軽い!とは思わないのはなぜだろう。
多分見た目と実際の重さのギャップがそう感じさせるのかも。
「あれ、見た目よりは重い?」って無意識に感じてる気がする。
buzzhouse designの11インチAir用のフェルトケースを注文できたので、外に持ち出せる日も近い。
ケースが届いたらまたレポする予定。
WordPressといえばApache、PHP、MySQLで動くので、それぞれを適切に設定して動作を早めちゃおうぜって話。
Apache
mod_pagespeed
http://code.google.com/intl/ja/speed/page-speed/download.html
Google様が公開したApache 2.2系用のモジュール。
自動的にチューニングを行ってくれるらしい。
mod_deflate
定番。
gzip圧縮をかけてコンテンツを転送する。圧縮・展開の分CPUリソースは食うが、転送量は少なく済む。
設定はこんな感じ
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|zip)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary
mod_expires
ファイルタイプ毎にブラウザにキャッシュ期間を指示する設定。
殆ど変更の無いファイルは毎回リクエストする必要はないので長めに設定。
ExpiresActive On
ExpiresDefault “access plus 3 hours”
ExpiresByType image/gif “access plus 60 days”
ExpiresByType image/jpg “access plus 60 days”
ExpiresByType image/jpeg “access plus 60 days”
ExpiresByType image/png “access plus 60 days”
ExpiresByType text/css “access plus 60 days”
ExpiresByType text/javascript “access plus 60 days”
ExpiresByType application/x-javascript “access plus 60 days”
ExpiresByType image/x-icon “access plus 360 days”
PHP
APC
http://pecl.php.net/package/APC
インタプリタ言語であるPHPをコンパイルして中間コードのままキャッシュしておくことで実行速度を速めようじゃありませんか、ってやつ。
# pecl install apc
でインストール。
php.iniに
extension=apc.so
を追記。
MySQL
クエリキャッシュの有効化
以下のクエリを実行してみる。
show variables = ‘query_cache_size’;
結果が0だったらクエリキャッシュが無効になっているので、有効にしてやる。
my.cnfを編集する
[mysqld]
query_cache_limit=1M
query_cache_min_res_unit=4k
query_cache_size=24M
query_cache_type=1
こんな感じで定番どころのチューニングを施してやるだけで大分体感パフォーマンスは上がる。
大した手間でもないので是非やっておくべし。
会社からiPadが支給され、auの後手後手っぷりに嫌気が差してiPhone4にMNPし、更にはMacbook Airまでポチってしまった..
Apple包囲網にハマってしまった感があるよ?
アプリ作りたいなーと思ってたので一番安価なminiにしようか、少々重くても持ち運べるMacbookProにしようかと悩んでたとこにMacbook Air 11インチの発表!コレはタイムリーすぎてやられた。
最小構成で8.8万円とか。128GBのSSD積んでも10.8万円とか。フルスペックにしても12万円ちょいとか。
プラットフォーム自体は一世代前のものだし、バッテリー持続時間の公称値も、重量もそれぞれ吟味すると数多のWindows機に及ばない。
けどこのスタイリッシュさとSSD128GBでこの価格はクラっと来た。で、ポチっちゃった。
届くのが待ち遠しいけど、持ち運びに使うケースがまだ無いんだよなぁ。
http://www.buzz-house.com/
のモノを待つつもり。
実はこっそり4000円値下げされてるMac miniも欲しかったんだよね。。64800円ってMacも安くなったんだなぁ。
最近のコメント