円安だから海外VPSから国内VPSへ引っ越すことにした。
でも、国内VPSは相変わらず微妙なスペック。
とりあえずVPSサーバのベンチマークをとることにした。
試したのは「さくらインターネット」 。
スペックは以下の通り。
さくらVPS: SSDプラン
メモリ: 4G
ディスク容量: 100GB
リージョン: 石狩
さくらインターネットはクレジット払いにすると二週間お試しできるのがメリット。
VPSは同居人の影響をもろ受けるのでサーバ環境を確認後に本契約に移れるのは利用者には嬉しい。
残念だったのは複数台を仮契約してローカルネットワークも試せなかったこと。
VPSのメニューにそれらしいのがないから、本契約じゃないと使えないみたいだった。
本当に残念。
本契約の前に試せると嬉しいんだけどね。
さくらインターネットは最近2chを攻撃している と噂されている偽2ch運営のたらこと関わっているんじゃないかと言われていて、利用は二の足を踏んでいた。
じゃあ、他にあるのかというと無いんだよね。
Linodeとか東京にDCを持つ海外勢はドルでの支払いだし、選択肢からは外れるし。
本当に日本勢は頑張って欲しい。
愚痴はこれくらいにしてベンチマークの結果を書いとく。
仮契約したのはローカルネットワークを試そうと思っていたので2台。
1台目
------------------------------------------------------------------------
Benchmark Run: 土 11月 22 2014 15:05:24 - 15:33:43
3 CPUs in system; running 3 parallel copies of tests
Dhrystone 2 using register variables 70587043.2 lps (10.0 s, 7 samples)
Double-Precision Whetstone 8196.6 MWIPS (9.9 s, 7 samples)
Execl Throughput 10005.9 lps (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 688425.7 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 155036.0 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 1332670.9 KBps (30.0 s, 2 samples)
Pipe Throughput 4625643.3 lps (10.0 s, 7 samples)
Pipe-based Context Switching 603899.1 lps (10.0 s, 7 samples)
Process Creation 26557.5 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 10386.9 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 1349.7 lpm (60.1 s, 2 samples)
System Call Overhead 3959540.5 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 70587043.2 6048.6
Double-Precision Whetstone 55.0 8196.6 1490.3
Execl Throughput 43.0 10005.9 2327.0
File Copy 1024 bufsize 2000 maxblocks 3960.0 688425.7 1738.4
File Copy 256 bufsize 500 maxblocks 1655.0 155036.0 936.8
File Copy 4096 bufsize 8000 maxblocks 5800.0 1332670.9 2297.7
Pipe Throughput 12440.0 4625643.3 3718.4
Pipe-based Context Switching 4000.0 603899.1 1509.7
Process Creation 126.0 26557.5 2107.7
Shell Scripts (1 concurrent) 42.4 10386.9 2449.7
Shell Scripts (8 concurrent) 6.0 1349.7 2249.6
System Call Overhead 15000.0 3959540.5 2639.7
========
System Benchmarks Index Score 2209.1
2台目
------------------------------------------------------------------------
Benchmark Run: 土 11月 22 2014 15:20:50 - 15:49:09
3 CPUs in system; running 3 parallel copies of tests
Dhrystone 2 using register variables 65719344.7 lps (10.0 s, 7 samples)
Double-Precision Whetstone 7974.8 MWIPS (9.9 s, 7 samples)
Execl Throughput 9435.9 lps (29.5 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 599021.9 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 146167.0 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 1369903.5 KBps (30.0 s, 2 samples)
Pipe Throughput 4552963.0 lps (10.0 s, 7 samples)
Pipe-based Context Switching 650405.2 lps (10.0 s, 7 samples)
Process Creation 25803.4 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 10891.7 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 1428.3 lpm (60.1 s, 2 samples)
System Call Overhead 5486500.7 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 65719344.7 5631.5
Double-Precision Whetstone 55.0 7974.8 1450.0
Execl Throughput 43.0 9435.9 2194.4
File Copy 1024 bufsize 2000 maxblocks 3960.0 599021.9 1512.7
File Copy 256 bufsize 500 maxblocks 1655.0 146167.0 883.2
File Copy 4096 bufsize 8000 maxblocks 5800.0 1369903.5 2361.9
Pipe Throughput 12440.0 4552963.0 3659.9
Pipe-based Context Switching 4000.0 650405.2 1626.0
Process Creation 126.0 25803.4 2047.9
Shell Scripts (1 concurrent) 42.4 10891.7 2568.8
Shell Scripts (8 concurrent) 6.0 1428.3 2380.5
System Call Overhead 15000.0 5486500.7 3657.7
========
System Benchmarks Index Score 2233.5
WEBプログラマーの趣味日記
2014年11月22日土曜日
2014年2月16日日曜日
【vsfrpd】FTPが接続できない
お名前.comのVPS(以降、FTPサーバ)にvsftpdをインストールして設定した。
早速、FTPクライアントで接続すると以下のエラーが返ってきてFTPサーバに接続できない。
エラー -203: miscellaneous error occurred while trying to login to the host
設定を確認するけど間違っているところはない。おかげで1時間程はまってしました。
ファイアウォールやいろいろチェックしていくと「SELINUX」が有効になっていたことが原因だった。
「SELINUX」が有効であるか以下のコマンドを実行して確認する。
コマンドを実行して以下のメッセージが表示すれば「SELINUX」が有効だということになる。
「SELINUX」を無効にする方法は即時に反映する方法と設定に保存してサーバ再起動時に反映する方法がある。
前者の場合、以下のコマンドを実行する。
「SELINUX」が無効になっているか以下のコマンドを実行して確認する。
コマンドの実行して以下のメッセージが表示すれば「SELINUX」が無効だということになる。
確認のためにFTPクライアントでFTPサーバに接続すると成功した。ただ、この方法だとvsftpdをインストールしているFTPサーバを再起動すると「SELINUX」が有効なった状態になってしまう。
そこで後者の方法も行なっておく。
以下のSELINUXの設定ファイルを編集する。
設定ファイルの以下の箇所を
SELINUX=enforcing
以下のように修正する。
SELINUX=disabled
確認のために再起動してFTPクライアントでFTPサーバに接続すると成功した。
早速、FTPクライアントで接続すると以下のエラーが返ってきてFTPサーバに接続できない。
エラー -203: miscellaneous error occurred while trying to login to the host
設定を確認するけど間違っているところはない。おかげで1時間程はまってしました。
ファイアウォールやいろいろチェックしていくと「SELINUX」が有効になっていたことが原因だった。
「SELINUX」が有効であるか以下のコマンドを実行して確認する。
#/usr/sbin/getenforce
コマンドを実行して以下のメッセージが表示すれば「SELINUX」が有効だということになる。
Enforcing
「SELINUX」を無効にする方法は即時に反映する方法と設定に保存してサーバ再起動時に反映する方法がある。
前者の場合、以下のコマンドを実行する。
#setenforce 0
「SELINUX」が無効になっているか以下のコマンドを実行して確認する。
#/usr/sbin/getenforce
コマンドの実行して以下のメッセージが表示すれば「SELINUX」が無効だということになる。
Permissive
確認のためにFTPクライアントでFTPサーバに接続すると成功した。ただ、この方法だとvsftpdをインストールしているFTPサーバを再起動すると「SELINUX」が有効なった状態になってしまう。
そこで後者の方法も行なっておく。
以下のSELINUXの設定ファイルを編集する。
#vi /etc/selinux/config
設定ファイルの以下の箇所を
SELINUX=enforcing
以下のように修正する。
SELINUX=disabled
確認のために再起動してFTPクライアントでFTPサーバに接続すると成功した。
2014年1月31日金曜日
【MySQL】GEOMETRY型の列にインデックスを張る
MySQLに接続して以下のコマンドを実行するが
以下のエラーが返ってきた。
MySQLのドキュメントを読むとGEOMETRY型(BLOB型)の列にインデックスを張るには「インデックス」でなく「スペシャルインデックス」にする必要があると分かった。また、「スペシャルインデックス」が対応しているテーブルエンジンは「MyISAM」のみなので注意する。 インデックスを張ろうとしているテーブルは「InnoDB」だったので「MyISAM」に変更した。
以下のコマンドを実行すると
今度は問題なくGEOMETRY型の列にインデックスを張ることができた。 「EXPLAIN SELECT」を使用して先ほど張ったインデックスが効いているか確認して問題なければいい。
ちなみに「InnoDB」で「スペシャルインデックス」を張るコマンドを実行すると以下のエラーが返ってきた。
ドキュメント通り「InnoDB」には対応していないようだ。
mysql> ALTER TABLE location ADD INDEX (lat_lon);
以下のエラーが返ってきた。
ERROR 1170 (42000): BLOB/TEXT column 'lat_lon' used in key specification without a key length
MySQLのドキュメントを読むとGEOMETRY型(BLOB型)の列にインデックスを張るには「インデックス」でなく「スペシャルインデックス」にする必要があると分かった。また、「スペシャルインデックス」が対応しているテーブルエンジンは「MyISAM」のみなので注意する。 インデックスを張ろうとしているテーブルは「InnoDB」だったので「MyISAM」に変更した。
以下のコマンドを実行すると
ALTER TABLE location ADD SPATIAL INDEX (lat_lon);
今度は問題なくGEOMETRY型の列にインデックスを張ることができた。 「EXPLAIN SELECT」を使用して先ほど張ったインデックスが効いているか確認して問題なければいい。
ちなみに「InnoDB」で「スペシャルインデックス」を張るコマンドを実行すると以下のエラーが返ってきた。
ERROR 1464 : The used table type doesn't support SPATIAL indexes
ドキュメント通り「InnoDB」には対応していないようだ。
【nginx】CentOS6環境でyumを使用して最新版のnginxをインストールする
yumにnginxのリポジトリを登録する。このリポジトリのURLはnginx本家のサイトからチェックできる。
sudo rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
このコマンドを実行すると
/etc/yum.repos.d/nginx.repo
このファイルが保存される。このファイルを開くと
# nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/6/$basearch/ gpgcheck=0 enabled=1
これでyumで最新版のnginxをインストールする準備完了。
sudo yum install -y nginx
コマンドを実行してnginxをインストールする。
sudo service nginx start
コマンドを実行してnginxを実行する。
ブラウザでアクセスして
Welcome to nginx!
が表示すればnginxのインストール作業は終わり。
2014年1月25日土曜日
【Yii】Yiiで複数言語化対応
Yii frameworkで複数言語に対応してみる。
以下のファイルを修正する。
[ 配置したYii frameworkのディレクトリの絶対パス ]/[ 作成したプロジェクト ]/protected/config/main.php
Yii:t()メソッド内の'app', 'access'は「app」がカテゴリで「access」が複数言語化対応する文字列で翻訳する文字列。
修正したviewを表示する。
書いたコードの部分にはaccessの文字列が表示する。accessの部分を日本語化するために翻訳ファイルを作成する。
以下のディレクトリにja_jpディレクトリを作成する。
[ 配置したYii frameworkのディレクトリの絶対パス ]/[ 作成したプロジェクト ]/protected/messages/
ja_jpディレクトリ下にapp.phpファイルを作成する。このファイル名はカテゴリと揃える。次にこのファイルを開いて以下のコードを書いて保存する。
再びviewを表示する。
「access」の部分が「あいうえお」に置き換わっている。
Yiiの他言語対応は凄く簡単だな(感動)。
以下のファイルを修正する。
[ 配置したYii frameworkのディレクトリの絶対パス ]/[ 作成したプロジェクト ]/protected/config/main.php
return array(
// ココにソースを記述
// i18n
'language'=>'ja_jp',
'sourceLanguage'=>'en_us',
);
viewファイルの中に以下のコード書いて修正する。
<p><?php echo Yii::t('app','access'); ?></p>
Yii:t()メソッド内の'app', 'access'は「app」がカテゴリで「access」が複数言語化対応する文字列で翻訳する文字列。
修正したviewを表示する。
書いたコードの部分にはaccessの文字列が表示する。accessの部分を日本語化するために翻訳ファイルを作成する。
以下のディレクトリにja_jpディレクトリを作成する。
[ 配置したYii frameworkのディレクトリの絶対パス ]/[ 作成したプロジェクト ]/protected/messages/
ja_jpディレクトリ下にapp.phpファイルを作成する。このファイル名はカテゴリと揃える。次にこのファイルを開いて以下のコードを書いて保存する。
<?php return array( 'access'=>'あいうえお', ); ?>
再びviewを表示する。
「access」の部分が「あいうえお」に置き換わっている。
Yiiの他言語対応は凄く簡単だな(感動)。
ラベル:
Yii Framework
,
Yii1.1
,
他言語化
【Yii】Yii Frameworkはじめました
Yii2.0を使おうかと思いましたがアルファ版なので1.1版を使うことにした。
まずYii1.1をYiiサイトからダウンロードする。
ダウンロード先ここ
Yiiサイトを開いたら以下の赤枠の中のボタンをクリックして、Yii Frameworkのファイルをダウンロードする。
ダウンロードしたファイルは解凍して適当な場所に配置する。
私がダウンロードしたファイルはtar.gz形式解凍方法はここを見る。
これで初期設定はおわり。解凍したディレクトリの中にdemosディレクトリがある。この中にサンプルが入っているので試しに動かしてみる。
データベースを使わなくても動いたので驚いた。
Yii frameworkでWEBシステムを作る時はプロジェクトを作成する必要がある。
作成方法は以下のコマンド。
cd [ 配置したYii frameworkのディレクトリの絶対パス ]
まずYii1.1をYiiサイトからダウンロードする。
ダウンロード先ここ
Yiiサイトを開いたら以下の赤枠の中のボタンをクリックして、Yii Frameworkのファイルをダウンロードする。
ダウンロードしたファイルは解凍して適当な場所に配置する。
私がダウンロードしたファイルはtar.gz形式解凍方法はここを見る。
これで初期設定はおわり。解凍したディレクトリの中にdemosディレクトリがある。この中にサンプルが入っているので試しに動かしてみる。
データベースを使わなくても動いたので驚いた。
Yii frameworkでWEBシステムを作る時はプロジェクトを作成する必要がある。
作成方法は以下のコマンド。
cd [ 配置したYii frameworkのディレクトリの絶対パス ]
framework/yiic webapp test
これでサクッと作成できる。このyiicコマンドだけどファイルの権限に実行権限ないと動かないことがある。私の環境はMAC OS X Marvericks。以下のファイルの権限の変更を行なった。
- framework/yiic
- framework/yiic.php
登録:
コメント
(
Atom
)


