担当工程
PM |
基本設計 |
詳細設計 |
構築 |
導入 |
保守 |
△ |
○ |
○ |
○ |
○ |
○ |
※横にスクロールします
事例概要
事例説明
この事例のお客様はリリース直後の高負荷でWebサーバの応答が遅くなるという経験をされており、
その解決策について相談がありました。
当初はサーバのハードウェアリソースの不足を疑い、
リソースの増強や各サービスへの効率的なリソース配分を行うという方向で検討をされていました。
また、DBについてMySQLをSQLiteに置き換えることで問題解決につながらないだろうかという打診もありました。
ただし、仮説ベースで闇雲に対策を行ってもコストが積み上がるだけで問題解決には至らない可能性があります。
そこで、当方より負荷テストを実施し、アクセスが増えて負荷をかけた状態を観測してみることを提案しました。
本事例ではお客様要件に対応するために以下のOSS(オープンソース・ソフトウェア)を採用しました。
k6:JavaScriptでシナリオが記述できる負荷テストツール。並列にリクエストを送るクライアントの数や、リクエスト数、テストの時間等も柔軟に指定することができる。
InfluxDB:時系列データベース。IoTデバイスのセンサーデータやソフトウェアのログデータなどの時刻情報を付随したデータを扱うのが得意。この事例ではk6の出力データを格納。
Grafana: 様々なデータソースに対応したダッシュボードツール。InfluxDBのデータの可視化に利用。
Zabbix:定番のサーバ・ネットワーク監視ツール。この事例ではサーバのリソース監視に使用。
これらのツールを活用することでボトルネックとなった箇所を特定し構成変更やチューニングを行い、
元のサーバのリソースの2倍程度で10倍以上のアクセスをストレスなく処理できるシステムを実現することができました。
![コンテンツ画像](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA7kAAAE5AQAAAAB989qcAAAAAnRSTlMAAHaTzTgAAAA7SURBVHja7cEBDQAAAMKg909tDwcUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHBmT8QABC3F9tgAAAABJRU5ErkJggg==)