Web関係

ServersMan@VPSからIDCFクラウドへ乗り換え

2017/3/30

以前に低価格帯VPSの比較記事を書きましたが、月額500円から使えると噂のIDCFクラウドを新たに試してみました。(3,000円分のトライアルクーポンがあったので。)
結論から言うと、かなり良さげだったので、ServersMan@VPSを解約してこちらに移行しました。

IDCFクラウドは、VPSではなくパブリッククラウドなので料金は構成次第ですが、

  • サーバー: Light.S1 (1CPU, 1GB) – 月額200円
  • ボリューム: 15GB – 月額300円

という構成で月額500円が実現できます。

料金ページや料金シミュレーションでは、ボリューム(ルートディスク)の下限は15GBとなっていますが、ISOからインストールを行えばそれ以下の容量も設定可能です。もう少し切り詰めれば、月額500円以下でも運用可能です。

ただ、格安運用しようと考えているなら、サーバーはLight.S1以外の選択肢はないので、CPUやメモリの制約を考慮して用途を選ぶべきです。また、グローバルIPアドレスは1個だけ無料なので(マシン単位ではなく仮想ルータ単位で付与される)、IPアドレスが欲しい場合はServersMan@VPSが良いかも知れません。

以下、適当にベンチマーク結果を貼っておきます。
※ 東日本リージョン2 Light.S1

Read more…

低価格VPS比較 ~ OVH VPS SSD1プランを試す

2016/10/11

このブログやお遊びWebサービスは、メモリ2GBぐらいのプランを1台契約して突っ込んでいたのですが、コストが年間1万円オーバーなので、節約のために格安のServersman@VPS Entryプラン(メモリ1GB)に移行してみました。しかし、データベースをごりごり使うアプリを動かすと、やはりメモリ1GBでは厳しいことが分かりました。そこでスペックと安さを両立させるために、国内にこだわらず、海外の格安VPSを契約してみました。

ベンチマークを交えて、これまで使っていたVPSについて比較・考察したいと思います。

Read more…

一つのカラムに貼られた複数のFULLTEXT INDEXを使い分ける

2015/7/26

Mroongaでお手軽全文検索して遊んでいたんですが、前方一致を使う場合は

Qiita: mroongaでgroongaの前方一致検索を使うには

にあるように、パーサーを無効にしないと期待した結果が得られません。

一つのカラムに対して、普通に全文検索する場合と前方一致検索を使い分けたい場合には、上記記事のように2つカラム用意してそれぞれにパーサーを使ったFULLTEXT INDEXと、無効にしたFULLTEXT INDEXを貼らなきゃいけないのでしょうか。
ちょっと無駄な感じがしましてどうにかできないかな~と。

そこで思いついたのが、USE INDEXとかで明示的にインデックスを指定してやったらどうなるのでしょうか。
そんでリファレンスを見てみると・・・

MySQL :: MySQL 5.6 リファレンスマニュアル :: 13.2.9.3 インデックスヒントの構文

「自然言語モードの検索の場合、インデックスヒントは暗黙のうちに無視されます。」
を読んで、ダメか~と思ったのですが、
「ブールモードの検索の場合、FOR ORDER BY または FOR GROUP BY を含むインデックスヒントは暗黙のうちに無視されます。FOR JOIN を含むインデックスヒント、または FOR 修飾子を含まないインデックスヒントは受け付けられます。」
ということらしいのでIN BOOLEAN MODEであれば、FOR {ORDER|GROUP} BYを除き、使えるっぽいですね。

ということで試してみましょう。

サンプルとして使うスキーマとデータは以下の通り。

CREATE TABLE test (
  id int(11) NOT NULL AUTO_INCREMENT,
  content varchar(255) NOT NULL COLLATE 'utf8_unicode_ci',
  PRIMARY KEY (id),
  FULLTEXT INDEX idx_content (content),
  FULLTEXT INDEX idx_content_off (content) COMMENT 'parser "off"'
) ENGINE=mroonga COMMENT = 'engine "InnoDB"' DEFAULT CHARSET=utf8;
INSERT INTO test (content) VALUES ('とらっく');
INSERT INTO test (content) VALUES ('とらっくばっく');
INSERT INTO test (content) VALUES ('東京都');
INSERT INTO test (content) VALUES ('京都');

まずはインデックスを指定せず前方一致検索をしてみます。

SELECT * FROM `test` WHERE MATCH(content) AGAINST('とらっく*' IN BOOLEAN MODE)

検索結果は空でした。EXPLAINしてみると、使用されたのはidx_contentが使われていたので、正しい結果です。

お次はUSE INDEXでパーサを無効にしたidx_content_offを指定してみます。

SELECT * FROM `test` USE INDEX (idx_content_off) WHERE MATCH(content) AGAINST('とらっく*' IN BOOLEAN MODE)

すると、以下のような結果が得られました。
idx_content_offが使用され、意図した前方一致検索が行われているようです。

|2|とらっくばっく
|1|とらっく

ということで、USE INDEXを使うことで、異なるパーサを用いたFULLTEXT INDEXを使い分けすることができますね。

FuelPHP MigrationでMroongaのラッパーモードを利用する

2015/6/11

FuelPHPのマイグレーションでMroongaのラッパーモードを利用したテーブルを作成する方法です。
備忘録として書いておきます。

Mroongaのラッパーモードを利用するには、テーブルオプションを ENGINE = Mroonga COMMENT = 'engine "InnoDB"' のように指定する必要があります。

DBUtil::create_table メソッドの第5引数 $engineでストレージエンジンの指定は可能なのですが、コメントの指定をどうしようかと悩んでいました。
create_tableメソッドのソースを読んでみると、$engineはエスケープなども行われずにそのまま文字列結合しているようなので、COMMENTも一緒にぶち込むことにしました。
見た目は良くないですが、Coreを拡張するのも面倒なので…

class Create_test
{
	public function up()
	{
		\DBUtil::create_table('test', array(
			'id' => array('constraint' => 11, 'type' => 'int', 'auto_increment' => true, 'unsigned' => true),
			'content' => array('constraint' => 255, 'type' => 'varchar'),
		), array('id'), false, "Mroonga COMMENT  = 'engine \"InnoDB\"'", 'utf8mb4_general_ci');

		\DBUtil::create_index('test', 'content', 'idx_content', 'fulltext');

	}

	public function down()
	{
		\DBUtil::drop_table('test');
	}
}

他に良い方法があれば是非教えてくださいー

Z210 Intel Management Engine アップデート & Intel AMTを使う

2015/5/7

サブPC交代と開発用サーバーとして、HP Z210を2台ほど調達してきました。
購入したZ210のCPUはSandy Bridge世代のXeon E3-1225ですが、大抵の用途には十分な性能ですね。

HP Workstationの中古はそこそこの性能のものがお手頃価格で入手できるので、以前からお世話になっています。
筐体はしっかりした作りですし、メンテナンスしやすく工夫がされています。
タワー型であれば拡張性も十分ですし、下手に自作するよりかなり安くて済むのでオススメです。

さてさて、今回はせっかくIntel vPro対応しているのでIntel AMTでリモート管理してみようというお話です。
忘備録として書いておきます。


HP Support Center: Intel Management Engine Firmware Update and Utilities (sp71010)
Version: 7.1.86.1221 Rev.A(25 Mar 2015)

まずはIntel MEの更新が公開されていたのでアップデート。
WindowsまたはDOS環境でアップデートできるツールが同梱されている。
当方はLinuxをインストールしているので、USBメモリからDOS起動してアップデートすることに。

maruko2 Note. : DOS 起動 USB メモリの作成

上記のツールを利用すると便利。UEFIも対応。
DOS起動用USBメモリを作成したら、HPからダウンロードしたアップデータに含まれる以下のファイルをルートにコピーしておく。

sp71010/ME Flash/71861221.BIN
sp71010/ME Flash/Local-DOS/FWUpdLcl.exe

そしたら、USBメモリをZ210に挿入して起動時にF9キーでブートメニューに入れるので、USBメモリを選択してDOSを起動する。
ちなみに、私は何をやってもブートメニューに表示されず、USBメモリからブートできないという問題が発生し、だいぶ時間を無駄にした。
以下のForumの情報を参考にして、結果としてBIOSをデフォルトにリセットしたら直った。

HP Support Forums: Z210 Workstation will not boot from USB

ブートしたら、以下のコマンドを実行して、しばらくすれば完了するはず。

FWUpdLcl.exe -F 71861221.bin

Intel ME設定で「Local FW Update」を「Password Protected」に設定している場合は、「-PASS<PASSWORD>」とオプションを付ける必要がある。

本題のIntel AMTの設定やらツールは以下のサイトを参考に。

ZIGSOW: 究極のリモートデスクトップ&PC管理が可能です
tuedaの日記: [TS130] TS130をいじってみた
徒労日記: DQ67EPのIntel AMTでWindowsHomeServer2011をリモートする