Pages

2015年2月2日月曜日

帳票移植ノウハウ ~OracleLinux移植について~

こんにちは。今週は初投稿となります宮本が担当させて頂きます。

今回の本題は帳票と違う話になってしまいますが、今年私が、弊社製品のOS移植を行った際の事についてお話させて頂きます。

皆様は、「Oracle Exadata Database Machine」(以降Exadata)をご存じでしょうか?Oracle社が提供しているデータウェアハウス向けのプラットフォームの名称です。このExadataからの帳票出力に弊社製品を使いたいとの要望を頂き、移植を行う事になりました。Exadataでは、OSに「OracleLinux」というLinuxOSを採用しています。OracleLinuxは「RedHat Enterprise Linux」(以降RHEL)をベースにカスタマイズが加えられOSなっています。つまるところ、Exadataへの移植とは、OracleLinuxへの移植となります。

OracleLinuxの大きな特徴の一つとして上げられるのがOracle製品に最適化されたプラットフォームである(つまり「処理が速い」)ことと、システム起動時に以下の2つから起動カーネルを選択することが出来ることです。


①「Red Hat Compatible Kernel
その名の通りRHELとの互換性を保ったカーネルで、RHEL動いていたプログラムが、そのままOracleLinuxで動く事を謳っています。
②「Unbreakable Enterprise Kernel
OracleLinux用に最適化されたカーネルで、RHELの互換性は保証されておりません。このカーネルであれば、OracleLinuxのパフォーマンスを100%発揮できます。


でも、わざわざOracleLinuxを使って①にする人がいるのかなとも思います。 よくわかっていませんが、①を選択しても他のOSと比べればOracle製品が速く動くとか。あるいは、単にExadataを使いたい人とかでしょうか。さて、折角のOracleLinuxへの移植なのですから、パフォーマンスを十二分に発揮できるカーネルでやるべきだと考え「Unbreakable Enterprise Kernel」での移植を実施することにしました。弊社製品はRHEL版があるので、それをOracleLinuxへ移植します。移植自体は、非常に簡単で特に大きな問題も無く行えました。OracleLinuxRHELがベースとなっている訳ですから難しくないことは想定内ですが、それでも移植しやすいよう考えられているのだと思います。

移植作業が終わりましたのでテストを行うのですが、やはり気になるのはパフォーマンスです。Oracle社のHP等で、製品紹介内容に以下のような文句があります。「高度なスケーラビリティと信頼性をエンタープライズ・アプリケーションおよびシステムに適用するOracle Linuxは、卓越したパフォーマンスを実現し、すべてのx86ベースのOracle Engineered Systemsで使用されます。」・・・つまり、RHELよりも良いパフォーマンスを発揮することが出来ると謳ってる訳ですが、しかし、Oacle製品に限ると言うことだと理解できます。なお、実は移植した弊社製品はOracle DataBase等のOracle製品を使用しておりません。果たして、パフォーマンスに差が出るのか出ないのか、実際はどうなのでしょうか。

OracleLinuxUnbreakable Enterprise Kernel)」とそのベースとなった「RHEL」で、どの程度パフォーマンスに違いが出るか、両OSでの比較テストは次の通りです。テストではマシン環境による違いが出ないよう、

勿論、同スペックマシン
・弊社製品のモジュールは、RHEL版でもOracleLinuxでもほとんど同じ
・弊社製品の機能である帳票の仕分けと帳票に出力を、同じ手順で3回計測し、平均値を取得という形で実施、計測しました。

果たして結果は・・・?


上記の通り(横軸が帳票数で縦軸が処理時間です)、RHELと大きな差がありませんでした。というか、ほぼありません。他にもいくつかテストを実施したのですが、やっぱり、ほぼ違いがありません。それにしても、Oracle以外のDatabaseでは全くといっていいほど性能が変わらないというのもある意味すごいかもしれません。もしかしたらわざと他のDatabaseは早くならないような、そういうKernel実装をしているのではと勘ぐってしまいました。

まとめると、「RHEL版からOracleLinuxの移植は簡単だった」、「OracleLinuxOracle以外のDatabaseを使うとパフォーマンスはRHELとまったく同じだと分かった」と言うことになります。

今回は帳票とは大分違う方向性の内容となりましたが、如何でしたでしょうか?
次回をお楽しみに!

OracleExadata
http://www.oracle.com/jp/engineered-systems/exadata/overview/index.html
OracleLinux
http://www.oracle.com/jp/technologies/linux/overview/index.html

0 件のコメント:

コメントを投稿