August 2017  |  01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

スポンサーサイト

一定期間更新がないため広告を表示しています

なんちゃってXonくあっどこあさーば

JUGEMテーマ:コンピュータ

低消費電力Xonでサーバを組んでみた。
Shuttle DS81E3-1275L v3
Shuttle DS81というHaswell RefreshデスクトップCPUを搭載可能なベアボーンがあり、たまたまリファビッシュ製品がダイレクトショップで出ていた。前回ファンレスサーバを組んだ時には見送ったモデルだと思う。HaswellのソケットLGA1150対応でTDP65W以下のCPUを捜したところ、低消費電力のXonがあることを知った。CPUの価格は3万円を超すようで少し躊躇したが、自宅でクアッドコアサーバという洒落に逆らえず、パーツを買い始めてしまった。
  • DS81(リファビッシュ)ベアボーン; LGA1150 TDP65W以下、Intel H81 Expressチップセット、デュアルDisplay Port、HDMI、デュアルGB LAN、USB3.0, USB2.0、デュアルCOMポート 販売: Shuttleダイレクト ¥16,448
  • Transcend ノートPC用 PC3L-12800(DDR3L-1600) 8GB×2 1.35V(低電圧) - 1.5V 両対応 204pin SO-DIMM kit (無期限保証) TS1600KWSH-16GK 販売: Amazon.com Int'l Sales, Inc. ¥ 12,980
  • Crucial [Micron製Crucialブランド] 自社製MLCメモリー搭載 MX200 2.5インチ 内蔵SSD ( 500GB / SATA 6Gbps / 7mm / 9.5mmアダプタ付 販売: Amazon.com Int'l Sales, Inc. ¥ 25,025
CPUは、比較的手ごろでかつ低消費電力ということで、TDP25WのE3-1230Lv3、E3-1240Lv3あたりを物色してみた(ビデオチップ非搭載なので、シリアルコンソールにしようと)。ところが、残念なことに、1,2年前に出荷されたチップのため、PCパーツ屋さんにも在庫がなく、やっと見つけたバルク品は4万円近くと、当時よりかなり高くなっていた。しかたなく、クアッドコア諦めたまたまPCパーツ屋さんで売ってた1220Lv3を買おうとしたが、ちょうど売り切れ。そんなわけで、しばらくお預けにするつもりだった。 つもりだったけど、たまたまググってたらヤフオクで「Xeon E3-1275Lv3(2.9GHz) Bulk LGA1150 haswell」なるものが15,800円即決で出てるではないか(送料¥200)。これを逃して後悔したくはないと思い落札した。E3-1275Lv3は、TDB45Wと消費電力は大きくなるもののビデオチップが内臓なのでインストールは楽になる。
  • Intel Xon E3-1275Lv3 Bulk; 2.7GHz, Socket LGA1150, TDP45W, GPU HD(GT1), PCIe 3.0 ¥16,000
結局、総額¥70,453-也。CPU付きベアボーンとしては¥32,448とお買い得。 自分にとっては、デュアルコアAtom 330のShuttle X27D以来、4台目の宅内ミニサーバとなる。

※Shuttleマザーボードを入れるとShuttle FV24もあった。(2015-10-28)

Raspberry Pi でPostgreSQLは桁違いに遅かった

JUGEMテーマ:コンピュータ

Raspberry Pi Model A で、ちっちゃなリレーション(10カラム未満)のベンチマークをしてみたところ、PostgreSQLが桁違いに遅い結果となってしまった。Debian系のPostgreSQLパッケージはpsqlがperlのラッパーから起動されるためプロセス起動のオーバーヘッドはあるものの、それを大きく上回る遅さであった。

BerkeleyDBは、SQLite互換モードで使ったが、SQLiteより速かった。SQLiteは競合した場合にエラーとなるため、実行プログラム側でWAITとリトライを行う必要があるが、BerkeleyDBはキューを持つためその必要はなかった。

ベンチマークをするテーブルは10カラム未満のもので、1000回(10クエリを100セット)のINSERTの間、別プロセスで定期的に6または8クエリの1セットのSELECTを行うもので、DBMSはBerkeleyDB, MySQL, PostgreSQL そして、SQLite を対象とした。ベンチマーク用のプログラムはBashシェルスクリプトで記述した。

以下は、INSERT100セットを行ったときの結果で、{同時実行セット数、経過時間[sec]、1セットあたりの所要時間[sec]}を、INSERTとSELECTについてそれぞれのDBMSで測った結果である。なお、インデックスは作成していない。
SQLiteについては、INSERT時にはロックファイルを作成して、SELECTクエリ側ではロックファイルがなくなるまでWAITとリトライをするようスクリプトに記述した。
※WAIT時間のチューニングについてはここでは触れない。

1. Raspbery Pi A+ の結果
Raspberry Pi A+(ARM 700MHz)、RAM 256MB、MicroSDでOSはRaspbian(Wheezy)での、Insert/Select同時ベンチマーク実行結果である。
MySQL 5.5:
::::::::::
Result Times and Averages:
        INSERT 100 672.442153079 4.11888
        SELECT 811 673.441800291 0.332067
PostgreSQL 9.1:
:::::::::::::::
Result Times and Averages:
        INSERT 100 2622.1109690768 23.4154
        SELECT 459 2626.588798772 5.23984
SQLite 3.7:
:::::::::::
Result Times and Averages:
        INSERT 100 550.92420354 2.83853
        SELECT 502 551.120738178 0.397833

PostgreSQLでのベンチマーク結果が一桁遅いのが気になる。
※PostgreSQLをシングルユーザモードで実行した場合は、さらに遅くなった。


2. Raspberry Pi A(MicroSD変更)のベンチマーク結果
Raspberry PiはA+でなく Aではあるが、やや速いMicroSDを使ってのInsert/Select同時ベンチマーク実行結果である。
BerkeleyDB 5.1:
:::::::::::::::
Result Times and Averages:
        INSERT 100 495.308163151 2.26031
        SELECT 603 495.585024318 0.301102
SQLite 3.7:
:::::::::::
Result Times and Averages:
        INSERT 100 522.1067024546 2.51971
        SELECT 559 523.1204274229 0.335052

BerkeleyDBのほうがSQLiteよりもやや速い結果となった。


3. Celeron マシンでのベンチマーク結果

以下は、PostgreSQLを含むCeleron847(Dual Processor)、RAM 2GB、SDD でOSはCentOS6のマシンで、Insert/Select同時ベンチマーク実行結果である。

BerkeleyDB 6.1:
:::::::::::::::
Result Times and Averages:
INSERT 100 281.1365123651 0.381156
SELECT 1220 281.1340809510 0.16721

MySQL 5.1:
::::::::::
Result Times and Averages:
INSERT 100 299.1057975644 0.594603
SELECT 1795 299.1000098073 0.119218

PostgreSQL 9.3:
:::::::::::::::
Result Times and Averages:
INSERT 100 297.728115501 0.27439
SELECT 1165 297.754557170 0.188408

SQLite 3.6:
:::::::::::
Result Times and Averages:
INSERT 100 337.476402330 1.29092
SELECT 1931 337.627725860 0.142878
PostgreSQLも他と大きくは変わらない結果で、SQLiteが遅い結果となった。ただし、SQLiteについては、ロック時のWAIT時間が必要以上に長すぎた(CPUが速くなった分)と考えられる。
 

PostgreSQLシングルユーザモード

JUGEMテーマ:コンピュータ

今年の書初めはBashシェルになってしまった。
昨年末に簡単なベンチマークをRaspberry pi で行った。対象としたDBMSはMySQLとSQLiteで、MySQLでの実装をSQLiteにするとどのくらい早くなるかを見るのが目的だった。
意外とMySQLの成績が良いので、PostgreSQLではどうかと試してみたところ、芳しくなくて、では、シングルユーザモードにしたらどうだろうと思い仕込んでみたら、結果は一層悪くなってしまった。

その副産物がPostgreSQLのシングルユーザモード実行シェル。バックエンドサーバを止めて使用する。ベンチマーク用なので、かなり超手抜きなのはご愛嬌。結局、ほとんど意味をなざず残念なので、書初めと称することにした。

 
» read more

来年も「太陽・月・星のこよみ」

JUGEMテーマ:日記・一般

会社従業員でなくなってから、とんとカレンダーが手に入らなくなった。
当時は、年末の最後の出勤日の打ち上げで、手帳とカレンダー争奪じゃんけん大会なるものがあり、毎年いくつはいただけたものだった。それでも、なんだかんだと頂くことがなくなったわけではないが、選択肢は格段に減ってしまった。
そんなわけで、自分で買うことにしたのが、この「太陽・月・星のこよみ」。
月齢、潮汐も知ることができて、今のライフスタイルにはぴったりな感がある。
 

シェリナベイビーナウで、shellinaboxdをインストール(CentOS 6)

JUGEMテーマ:インターネット  
 
久々で、自分ちサーバのアップデートを行った。先週のシェルショックで、少しあわててもいた。
やっと時間が取れた感じとなったので、何十年ぶりかのビートルズを聞きながら。。。

ついでに、懸案のShellinaboxがFedoraパッケージになっているというので、インストールしてみた。
CentOS 6では、EPELリポジトリを設定しておくことで、インストールができる。
( /etc/yum.repos.d/epel.repo https://fedoraproject.org/wiki/EPEL)

リポジトリの設定ができれば、あとは、簡単、
# yum install shellinabox

で、できあがり。以前、/usr/local/bin にインストールして、未設定のままだった shellinabox は捨てた。
設定は、/etc/sysconfig/shellinaboxd を編集して、特にないので、ポート番号4200を自分の好みの番号に変える程度。

PORT = 4200

ポート番号を変えると、iptablesの設定ポートも変える必要がある。/etc/sysconfig/iptables の次の行のポート番号4200を変更し、iptablesを再起動する。

-A INPUT -m state --state NEW -m tcp -p tcp --dport 4200 -j ACCEPT

残念なことに、sshdにPAM認証を許可しなくてはならない。/etc/ssh/sshd_config を編集して、

UsePAM yes

にする。
通常のsshdアクセスにおいて鍵認証との併用の場合、鍵認証に失敗するとパスワード認証を求めるようになるので注意。

準備ができたら、設定変更したサービスを再起動。
# service sshd restart
# service iptables restart
# service shellinaboxd restart

Webブラウザで https://localhost:4200/ とかアクセスして、動作確認。

次回リブートした際に自動起動したい場合は、次のコマンドを実行しておく。

# chkconfig shellinaboxd on



 
<<back|<123456>|next>>
pagetop