本文へジャンプ

Open Middleware Report Web

Hitachi

【Webの問題はいろいろ】

Webシステムではどんな問題が起こるんですか?
そしてAPサーバはどうやって問題が起こりにくいシステムを作っているの?

みどるちゃん

じゃあ次は、その話をしていこうか。わかりやすいように日立が開発したAPサーバ
「uCosminexus Application Server」(以下、Cosminexus)
を例に説明していくね。

井上先生

おねがいします。

みどるちゃん

まずはCosminexusのことを簡単に説明しておこう。
Cosminexusの前身となるAPサーバ製品を1997年にリリースしていて、「Cosminexus」という名前では2000年からリリースされたんだ。
今から16年前に生まれたミドルウェアということになるね。

井上先生

わたしよりずっと年上…

みどるちゃん

Java EEの前身となるJ2EE(Java 2 Platform, Enterprise Edition)規格ができたのが1999年。
それにいち早く対応したのがCosminexusで、国内初の「J2EE準拠のAPサーバ」として当時は話題になったんだよ。
そして2002年からはJavaの実行環境であるJava仮想マシン(JVM)も日立は自社開発して搭載したんだ。
自製のJVMを持っているのもCosminexusの大きな特長の1つで、システム全体のサービス品質向上にも役立っているんだよ。
Webシステムのトラブルで関係者にとっていちばん頭が痛いのは、原因の見極めなんだ。
例えば、リクエストの反応が遅くて仕事が進まないといった場合、原因箇所を特定できないと、どこをどう直せばいいのかわからなくて、利用者に長い時間、迷惑をかけてしまう。
だからCosminexusでは、処理状況の詳細な履歴であるログ情報を採取し、どの部分で障害が発生しているのか、どこで処理が遅延しているのかを簡単に特定できる「障害・性能解析トレース機能」を実装しているんだ。

井上先生

システムの中で“悪さ”している犯人を捜してくれるんですね!

みどるちゃん

そう。この機能ができる前、僕たちエンジニアは原因探しに数週間もかかったことがあって、連日徹夜でたいへんだった。
でも今は問題箇所が早く見つかるようになってホントに助かっているんだ。
システム改善のスピードも劇的に速くなって、お客さまも喜んでくださっているよ。

井上先生

よかった。
みんなが徹夜しなくてすむ!

みどるちゃん

うん。
同じく好評なのが「メモリリークの調査機能」。
メモリリークが発生してしまうと、システムが不安定になるから対処が必要なんだ。
Cosminexusなら、メモリリークをしている実際の環境で詳細な使用状況を把握できるから、今までとても長い時間がかかっていた原因究明が楽になり、早期復旧を可能にしてくれるんだ。

井上先生

すごい!

みどるちゃん

あとWebシステムで起こりやすいトラブルが「レスポンスの低下」だね。
例えば、ネットショッピングでも“話題の商品が新発売”みたいなときは、アクセスが集中して買い物かごに入れたものの決済まで進めないことがあるよね。
こうなるとお客さまが買い物をあきらめたりして販売機会を失ってしまうだろう。
だからCosminexusには、利用者が多くなってもレスポンスを確保できる「流量制御」という機能が備わっているんだ。

井上先生

りゅ…う?

みどるちゃん

図2

りゅうりょうせいぎょ
─まあ「交通整理」と同じことだと考えればいいよ。
APサーバには、ユーザからのさまざまなリクエストを処理するまで貯めておく“キュー”という器がある。
ただこの器が1つしかないと、処理の遅い業務に引っ張られて、優先度の高い業務もどんどん後に押しやられてしまう。
これに対してCosminexusでは、処理の遅い業務と速い業務にキューを分け、バランスよく整理しながら実行させることができるんだ。
その振り分けもきめ細かく設定できるから、リクエストの急激な変動時や高負荷時にも安定したレスポンスを保証できるんだ。

井上先生

すごい。
これならどんな人気商品も発売日には確実にゲットできますね。

みどるちゃん

数量限定なら先着順になるけどね。

井上先生

あ、そうか…

みどるちゃん

もう1つ、業務そのものを止めないこともAPサーバの重要な仕事。
従来のJavaアプリケーションではメモリ領域が一杯になるとそれを“掃除”するFull GC(Garbage Collection)という処理が実行されるんだ。
この掃除の間は他の処理が一切できなくなる。
けれども、これはJavaの言語による仕組みで発生するので防ぐことはできないんだ。
だからメモリ領域の大きいマシンの場合は、数十秒もの無応答時間が発生してしまう恐れがあるんだ。

井上先生

そんなに長い時間…

みどるちゃん

それを解消するため「Full GCレス機能」をCosminexusは搭載したんだ。
これは日立のJVMを用いてFull GCを発生させずに掃除を行う仕組みで、Full GCによって業務が止まる心配がなくなり、システムの快適な稼働が実現できるようになったんだ。

井上先生

使う人の立場に立って、いろいろ細かい工夫をしているんですね。

みどるちゃん

うん。24時間365日、利用者が安心して使えるシステムを支えるため、APサーバは世界中のいろいろな場所で毎日がんばっているし、日立はその中でも常に最高のAPサーバを提供したいと考えている。
国産ベンダーということで、お客さまがCosminexusの開発部門やサポート部門と直接会話できるのも大きな安心につながっているし、いただいた意見は迅速に製品に反映できるよう努力もしているよ。
おかげさまで、APサーバなどの製品を用いてシステムを構築する企業の皆さまから6年連続でCosminexusがパートナー満足度1位※の評価をいただいているんだよ。

※日経コンピュータ2013年2月7日号
第15回パートナー満足度調査 Webアプリケーションサーバー部門1位

井上先生

図2

さすがです、Cosminexus!

みどるちゃん

APサーバがどんな働きをしているか、少しはわかってもらえたかな。
僕からの話はこれでおしまいだけど、Cosminexusには今日話した以外にも、さまざまなシステムを支えるための機能がまだまだたくさんあるんだよ。
みどるちゃんにはこれからも、たくさんの人に話を聞いて、他のミドルウェアのことを勉強してほしいな。

井上先生

はい!がんばります。

みどるちゃん

2ページ中2ページ