技術的特徴ジャムヘルパー – jamhelper
特徴Feature
アクセス管理に次世代KVSを採用。急なノード追加でも制御はお任せ
jamhelperは、複数ウェブサーバ環境でも設定やアクセス情報を一元管理しています。
よって、緊急にウェブサーバを追加しても設定値を見直す必要がないため、サイト管理や運用負担を極限まで減らせます。
類似システムの課題issue of similar solutions
類似システムはアクセス管理を共有メモリで管理するため、複数のウェブサーバでアクセス情報を共有できません。
よって、
・ウェブサーバの手前に配置してチェックする(リバースプロキシ方式)
・1台のウェブサーバに集約させる(振り分け方式・Sticky方式)
などを採用しますが、
・ウェブサーバの手前に配置してチェックする(リバースプロキシ方式)
問題が生じて停止した際は、全アクセスが停止する懸念があります
・1台のウェブサーバに集約させる(振り分け方式・Sticky方式)
アクセスを集中させるためのインフラ設定を見直す必要があります
高負荷回避が目的にも関わらず、アクセスを集約させなければならないのでトラッフィクなども気にする必要があります。
ウェブサーバの台数で案分する設定値の見直しや、HTTP/HTTPS をまたがる機能への考慮といった課題もあるため高度知見を持った運用・監視体制も必要となります。
サーバの動的追加が主流となるクラウド環境において、この運用は致命的です。
jamhelperのパフォーマンス
Apacheモジュール+KVSによる高速パフォーマンス
ウェブサーバ単体で500〜1000/リクエスト/秒の処理能力
仮想環境化におけるApacheベンチの検証結果 (30 process – 2,000 requests)
virtual OS (VMWare Fuson7) | |
---|---|
OS | CentOS release 6.5 (Final) |
Processor | 1.7 GHz Intel Core i7 2thread |
Memory | 2GB 1600 MHz DDR3 |
WebServer | Apache2.2 |
Threshold | shut off by the same IP the request of the more than 10 |
検証結果: 986.43 [#/sec]
ab -c 30 -n 2000 http://loc.jamhelper.com/cart/ This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking loc.jamhelper.com (be patient) Completed 200 requests Completed 400 requests Completed 600 requests Completed 800 requests Completed 1000 requests Completed 1200 requests Completed 1400 requests Completed 1600 requests Completed 1800 requests Completed 2000 requests Finished 2000 requests Server Software: Apache/2.2.27 Server Hostname: loc.jamhelper.com Server Port: 80 Document Path: /cart/ Document Length: 322 bytes Concurrency Level: 30 Time taken for tests: 2.028 seconds Complete requests: 2000 Failed requests: 1991 (Connect: 0, Receive: 0, Length: 1991, Exceptions: 0) Write errors: 0 Non-2xx responses: 1991 Total transferred: 1172515 bytes HTML transferred: 712589 bytes Requests per second: 986.43 [#/sec] (mean) Time per request: 30.413 [ms] (mean) Time per request: 1.014 [ms] (mean, across all concurrent requests) Transfer rate: 564.75 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 1 1.5 0 10 Processing: 15 29 7.7 28 105 Waiting: 14 29 7.8 28 105 Total: 20 30 8.3 28 115 Percentage of the requests served within a certain time (ms) 50% 28 66% 30 75% 31 80% 31 90% 34 95% 37 98% 45 99% 84 100% 115 (longest request)