(5分でわかる)SuperMap iServerの同時アクセス数を制御する実践的な方法とは
9月に入り、暦の上では秋ですが、東京はまだ夏の気配が色濃く残っていますね。こんな日は、涼しいオフィスでじっくりとシステムの最適化に取り組むのが捗ります。
さて、GIS管理者にとって重要なテーマの一つが、サーバーへの同時アクセス制御です。特に、商用データを提供する際には、サーバーの安定稼働とライセンス契約の遵守が求められます。
「SuperMap iServerの同時アクセス数を適切に管理したい」
この課題に対して、SuperMap iServerの基盤であるApache Tomcatの設定を調整することで、サーバーの接続数を直接的に制御できます。
今回はその具体的な方法に加え、ビジネス要件に応じたより高度な制御方法まで、包括的に解説します。
方法1: iServer内部設定による直接的な制御(Tomcatチューニング)
SuperMap iServerは、WebサーバーとしてApache Tomcatを内蔵しています。このTomcatの設定ファイルを直接編集することで、サーバーが受け付けるリクエストの最大数や処理能力を調整することが可能です。
これは、サーバーへの物理的な入り口の広さや、一度に対応できる人数そのものを決めるようなイメージです。
設定方法
iServerのインストールディレクトリにある \conf\server.xml
ファイルを開き、<Connector>
タグに以下の属性を追加または編集します。
<Connector port="8090" protocol="HTTP/1.1"maxThreads="500"
maxConnections="1000"acceptCount="200"connectionTimeout="20000" .../>
設定項目の補足説明
maxThreads
: Tomcatがリクエストを処理するために同時に使用できるスレッドの最大数です。サーバーのCPUコア数やメモリに応じて適切に設定します。これがサーバーの最大処理能力に直結します。maxConnections
: サーバーが同時に受け付けることができる接続の最大数です。maxThreads
で設定した数以上のリクエストが来ても、ここで指定した数までは接続を維持します。acceptCount
: すべての処理スレッドが使用中の場合に、リクエストを待機させておくことができるキューの最大長です。この数を超えたリクエストは拒否されます。connectionTimeout
: 接続を確立してから、リクエストが来るまでのタイムアウト時間(ミリ秒)です。
この方法のポイント
メリット:
iServer単体で設定が完結し、追加のミドルウェアが不要。
サーバーの過負荷を防ぎ、リソースを保護する上で非常に直接的かつ効果的。
注意点:
これはサーバー全体の接続数を制限するもので、ユーザー単位の制御ではありません。つまり、「A社のユーザーは10人まで、B社のユーザーは5人まで」といったビジネスルールに基づいた制御はできません。
設定値を誤ると、サーバーの性能を最大限に引き出せなかったり、逆に不安定になったりする可能性があるため、十分なテストが必要です。
方法2: ビジネス要件に応える高度な制御
Tomcatの設定はサーバーの物理的な上限を定めますが、「ライセンス契約に基づいて、特定のユーザーグループの同時利用数を制限したい」といった、よりビジネスに密着した要件には、アプリケーションレベルでの制御が最適です。
アプリケーションサーバーでのセッション管理(推奨)
商用ライセンスの管理など、厳密なユーザー単位での制御が必要な場合は、iServerの前段に認証とセッション管理を行うWebアプリケーションサーバーを配置する方法が最も確実です。ユーザーがログインしてからログアウトするまでを「1セッション」として管理し、そのセッション数が契約上の上限に達したら新規のログインを制限します。
APIゲートウェイやリバースプロキシの活用
クラウド環境でのAPI流量制御や、IPアドレス単位での簡易的なアクセス制限を行いたい場合には、APIゲートウェイやリバースプロキシ(Nginxなど)を組み合わせる方法も有効です。
まとめ: 最適な方法は「目的」で決まる
SuperMap iServerの同時アクセス制御は、複数のアプローチを目的に応じて使い分けるのが賢明です。
制御方法 |
主な目的 |
メリット |
デメリット |
Tomcat設定 (server.xml) |
サーバー全体の過負荷防止、リソース保護 |
iServer単体で完結、直接的 |
ユーザー単位の制御は不可、調整が難しい |
アプリケーションサーバー |
ユーザー単位の厳密なライセンス管理 |
柔軟なビジネスルールを実装可能 |
別途アプリケーション開発が必要 |
APIゲートウェイ |
クラウドでのAPI流量制御、セキュリティ強化 |
高機能、スケーラブル |
クラウド利用が前提、追加コスト |
リバースプロキシ |
簡易的なIPベース制限、負荷分散 |
導入が比較的容易 |
厳密なユーザー管理は不可 |
まずはTomcatの設定でサーバーの安定稼働の土台を固め、その上で、商用データ提供などのビジネス要件に応じてアプリケーションサーバーによる高度な制御を実装する、という組み合わせが理想的な構成と言えるでしょう。
大切な地理空間データをこの東京から世界へ、より安全かつ安定的に提供していきましょう。
コメント
コメントを投稿