ページの先頭です。
サイト内の現在位置を表示しています。
  1. ホーム
  2. ソフトウェア
  3. WebOTX
  4. コラム/特集
  5. 開発者が語る
  6. 安心してご利用いただけるシステム基盤を目指して ―性能改善―
ここから本文です。

WebOTX開発者が語る「安心してご利用いただけるシステム基盤を目指して ―性能改善―」

私たちWebOTX開発者部門は「お客様に良い製品を!」をモットーに、日々努力しております。

今回は、お客さまの重視度が高い項目の1つである「性能」に対するWebOTX開発部門の取り組みの一端をご紹介します。なお、その他に重視されている「信頼性」「運用管理の容易さ」についての取り組みは以下のページで紹介していますので、こちらもご参照ください。

安心してご利用いただけるシステム基盤を目指して ―性能改善―

NECシステムテクノロジー 三浦

NECシステムテクノロジー
第四ソフトウェア事業部 マネージャ
三浦 正樹
Webコンテナの開発・保守を担当

一口に性能と言ってもさまざまな性能がありますが、その中でWebOTXはどのような性能を重要と考えているのでしょうか。

アプリケーションサーバはお客様の業務システムを支える基盤となる製品であり、日頃からさまざまなお問い合わせをいただきます。こうした日々のお問い合わせや、お客様へヒアリングさせていただく機会を通して、お客様から特に求められているのは、システムの運用が開始してからもっとも重要となる「アプリケーションサーバ上で動作する業務アプリケーションの実行性能」や、起動・停止・配備などの「システム構築中によく実行される操作の性能」だと考え、改善を実施しています。

業務アプリケーションの実行性能の改善には、以前から継続して取り組んできたとのことですが、これまでどのような思いで取り組んでこられたのでしょうか。

業務アプリケーションの実行性能は、お客様がシステムを利用していく中で、常に意識される性能です。特に、多くのお客様に利用していただいているWebアプリケーションの実行性能は重要だと考え、重点的に改善を実施してきました。

具体的にどのようなことを実施して、アプリケーションの実行性能を改善されたのでしょうか。また、その成果を教えてください。

Webアプリケーションの性能改善では、リクエストごとに実行される処理を改善してきました。
まず、リクエストごとに実行される処理のプロファイルを測定します。次に、プロファイル結果からCPUを多く消費している処理や無駄な処理を検出して修正を行ないました。
代表的な例としては、内部処理用に使用しているJavaオブジェクトを極力使いまわすようにしたことです。オブジェクトの生成は大きなコストがかかり性能劣化やメモリ使用量の増加につながる部分のためソース全般の見直しを行いました。また予想以上にログ出力部分のコストがかかっていたことが判明したため、出力項目の見直し、およびログレベルチェック処理部分の修正を行っています。
このようなさまざまな改善を地道に積み重ねてきたことにより、Servlet、およびJSPの処理性能は、WebOTXのベースとなっているTomcat と比較して、約10~20 %改善しています。

また、WebOTXでは、チューニング用のパラメータ、および、構築ガイドというチューニングする際のガイドを提供しています。構築ガイドを参考にしながら、チューニング用のパラメータを、実際の利用環境に合わせて変更していただくことにより、アプリケーションの実行性能を改善することができます。
さらに、最新版のWebOTX V8.3 では、EJBアプリケーションの実行や、アドバンスドモードでのWebアプリケーションの実行に利用されるRMI over IIOP通信性能を向上させました。これにより、EJBアプリケーションおよびアドバンスドモードでのWebアプリケーションの実行性能を改善しています。

運用操作の性能改善としては、最新版のWebOTX V8.3 で配備性能の改善に取り組んだとお聞きしました。改善に取り組んだ、きっかけは何だったのでしょうか。

最近の問い合わせ対応から、SEの方々がシステム構築に費やせる期間が、数年前と比較して短くなっていることを感じています。
業務アプリケーションの開発中には、プログラムに変更を加え、その動作を確認する作業が繰り返して行なわれます。このため、プログラムをサーバに適用して利用可能な状態にする「配備」と呼ばれる操作の性能を改善することは、業務アプリケーション開発時の作業効率を高め、結果的にシステムの開発コスト削減に大きな効果を発揮すると考えました。これが、配備性能の改善に取り組むきっかけでした。

配備性能の向上では、具体的にどのようなことを実施されたのでしょうか。

お客様から「システムの規模が大きくなるほど配備にかかる時間も増えるが、これを短縮したい」というご要望がありました。実際に使用されている環境を調査したところ、オペレーション数(EJBアプリケーションのリモートインタフェースが持つメソッド数)が1000程度のEJBアプリケーションをStandard Edition に配備する場合に時間がかかっているということがわかりました。
そこで、オペレーション数が1000のEJBアプリケーションを用意し、Standard Editionに配備する際の処理を細かく分割して、それぞれの処理にかかる時間を分析しました。分析の結果、エージェントプロセス(WebOTXのコアプロセス)からTPモニタへ、オペレーション制御のための情報を登録する通信処理がボトルネックであることが判明しました。このため通信処理1回分のデータ量を増やすことで1オペレーションあたりの通信回数を4分の1に減らし、配備性能の大幅な改善を実現しました。
WebOTX V8.31では、WebOTX V7.11と比較して、オペレーション数が1000のEJBアプリケーションの配備において、配備時間を約60%改善しています。

お客様からやSEの方々からは、どのような反応をいただいているのでしょうか。

WebOTXの性能は、高い評価を頂いております。これも、継続して性能改善を実施してきた成果だと、大変嬉しく思っています。これからも、引き続きこのような評価をいただけるよう、一層努力していきたいと考えております。

今後、WebOTXではどのような性能改善に取り組んでいきたいとお考えですか。

今後も、実行性能および運用操作の性能改善に取り組んでいきたいと考えています。
たとえば、実行性能ではセッションレプリケーションの改善を検討しています。セッションレプリケーションでは、レプリケーション対象のサーバ数が増加した場合に性能が出ないという課題があります。今後、クラウド型のシステムなどでこれまで以上に大規模なシステムが構築されることなども踏まえ、セッションレプリケーションの性能改善が必要だと考えています。
また、配備以外の横展開となる再配備・配備解除や、起動・停止などの運用操作の性能も改善していくことで、構築しやすいアプリケーションサーバを目指していきたいと考えております。

(2010年10月7日)

「WebOTX開発者が語る」記事一覧はこちら


ページの先頭へ戻る