さくらのVPSに移転

2008年ごろからレンタルしていたサーバーのレンタル期限が近づいてきたので、さくらVPSに移転することにしました。
これまで使っていたサーバは、

  • 1台のサーバーを複数人で使うタイプ
  • コンソールでのログイン不可
  • Perlなどのモジュールを自由にインストールするのも不可

という、昔ながらのレンタルサーバー。
以前にMTで書いていたブログをホスティングしているだけなので、不都合はありませんでしたが、プライベートでちょっとしたアプリを作って試してみたいときにサーバーあると便利だなと、重たい腰をあげてみました(実は毎年契約更新時期に思っていた)。
もともと使っていたサーバーでも年間で1万円くらいのレンタル費用がかかってしまいますが、さくらVPSの一番安いプランだと同じくらいの額で運用できるのも決め手の一つでした。

以下、やったことのメモです。

  • 旧サーバーのMTのバージョンを最新にする
  • 旧サーバーのファイルを固めてダウンロード
  • 新サーバーにリモートログインできるように
  • yumでmysql , apache , perl モジュール etc. をインストール
  • 旧サーバーのファイルをアップロード
  • 旧サーバーの独自ドメイン設定をoff
  • 新サーバーに独自ドメイン向くよう設定

ということで無事に移転完了。
MTのバージョン古すぎてバージョン上げたらサイドバーのウィジェットが使えなくなってたりしましたが、概ねうまくいきました。

VPS(仮想専用サーバ)のさくらインターネット

http_loadでお手軽パフォーマンス測定

http://www.acme.com/software/http_load/
http_load というツールがありまして、これを使うとごくごく簡単なパフォーマンス測定ができます。
ただし、headerつけたりとか cookieセットしたりとか、BASIC認証を突破させるとか、そういう気の利いたことはできません。
アクセスするURLを複数指定できますが、URL毎の計測結果は出せません。
どこかのページが集中的にアクセスされたとき(Yahoo!トップに載るとか、炎上するとか)にどのくらいパフォーマンスが出るか調べるのにお手軽で良いです。

インストール

~% wget http://www.acme.com/software/http_load/http_load-12mar2006.tar.gz
~% tar xvfz  http_load-12mar2006.tar.gz
~% cd http_load-12mar2006
~% make
~% make install

urls.txt 作成

アクセスさせたいurlのリストを作ります。
ファイル名はなんでもいいです。1行に1つURLを書きます。

実行

  • http_loadコマンドに、並列度と時間(もしくはfetch数)、urlを書いたファイル名を渡して、実行します。
  • ためしに僕の昔の個人ブログへアクセスしてみます。
  • parallel で並列度を、seconds で時間を指定します。
    • 5並列で10秒アクセスしてみます。
~% http_load -parallel 5 -seconds 10 urls.txt

結果

9318 fetches, 5 max parallel, 4.48496e+08 bytes, in 10 seconds
48132.2 mean bytes/connection
931.8 fetches/sec, 4.48496e+07 bytes/sec
msecs/connect: 0.984502 mean, 61.396 max, 0.441 min
msecs/first-response: 1.55972 mean, 64.012 max, 0.701 min
HTTP response codes:
  code 200 -- 9318

connectにかかった時間と、responseがあった時間の平均値、最大値、最小値を出してくれました。

input type="date" のメモ

input type="date"を使うと日付を入力するフォームを作れる。
見た目上、2013/03/06のように /(スラッシュ)区切りになっているが、valueは2013-03-06のように -(ハイフン)で区切られている。
valueをセットするときには、月、日のところはゼロパディングが必要。

<!DOCTYPE html>
<html lang="ja">
  <head>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
  <script>
$(function() {
  var p = function(num) {
    return ((num + "").length == 1) ? "0" + num : num;
  }
  var now = new Date();
  $('#d1').val(now); //NG
  $('#d2').val('2013-3-6'); //NG
  $('#d3').val('2013-3-07'); //NG
  $('#d4').val('2013-03-07'); //OK
  $('#d5').val('2013/03/07'); //NG
  $('#d6').val(now.getFullYear() + '-' + p(now.getMonth() + 1) + '-' + p(now.getDate())); // TODAY
 
  $('#v6').val($('#d4').val());
});
  </script>
  </head>
  <body>
    <input id="d1" type="date" value="">
    <input id="d2" type="date" value="">
    <input id="d3" type="date" value="">
    <input id="d4" type="date" value="">
    <input id="d5" type="date" value="">
    <input id="d6" type="date" value="">
    <br/>
    value : <input id="v6" type="text" value="">
  </body>
</html>

https://gist.github.com/chris4403/5263889