Submit Search
Upload
負荷対策しておもったことまとめ~JMeterでSocket.IOもいけるでよ~
•
10 likes
•
7,864 views
johgus johgus
Follow
負荷対策をしていての事例とJMeterでSocket.IOの負荷試験をする方法
Read less
Read more
Technology
Report
Share
Report
Share
1 of 28
Download now
Download to read offline
Recommended
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
モノビット エンジン
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
Game Tools & Middleware Forum
ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方
Daisaku Mochizuki
Building the Game Server both API and Realtime via c#
Building the Game Server both API and Realtime via c#
Yoshifumi Kawai
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
Photonのサービス選択の勘どころ
Photonのサービス選択の勘どころ
GMO GlobalSign Holdings K.K.
ソフトウェア開発における『知の高速道路』
ソフトウェア開発における『知の高速道路』
Yoshitaka Kawashima
シェーダーグラフで作るヒットエフェクト
シェーダーグラフで作るヒットエフェクト
r_ngtm
Recommended
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
モノビット エンジン
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
Game Tools & Middleware Forum
ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方
Daisaku Mochizuki
Building the Game Server both API and Realtime via c#
Building the Game Server both API and Realtime via c#
Yoshifumi Kawai
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
Photonのサービス選択の勘どころ
Photonのサービス選択の勘どころ
GMO GlobalSign Holdings K.K.
ソフトウェア開発における『知の高速道路』
ソフトウェア開発における『知の高速道路』
Yoshitaka Kawashima
シェーダーグラフで作るヒットエフェクト
シェーダーグラフで作るヒットエフェクト
r_ngtm
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
DeNA
大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化
DeNA
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
Unity Technologies Japan K.K.
【Unite Tokyo 2019】AWS for Unity Developers
【Unite Tokyo 2019】AWS for Unity Developers
UnityTechnologiesJapan002
良い?悪い?コードコメントの書き方
良い?悪い?コードコメントの書き方
Shigenori Sagawa
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
Unity Technologies Japan K.K.
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
JustSystems Corporation
【Unite Tokyo 2018】その最適化、本当に最適ですか!? ~正しい最適化を行うためのテクニック~
【Unite Tokyo 2018】その最適化、本当に最適ですか!? ~正しい最適化を行うためのテクニック~
Unity Technologies Japan K.K.
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
ウェブセキュリティのありがちな誤解を解説する
ウェブセキュリティのありがちな誤解を解説する
Hiroshi Tokumaru
【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす
【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす
Unity Technologies Japan K.K.
JenkinsとjMeterで負荷テストの自動化
JenkinsとjMeterで負荷テストの自動化
Satoshi Akama
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
UnityTechnologiesJapan002
【Unity】より良い表現のためのライティング戦略
【Unity】より良い表現のためのライティング戦略
Takayasu Beharu
自動でバグを見つける!プログラム解析と動的バイナリ計装
自動でバグを見つける!プログラム解析と動的バイナリ計装
uchan_nos
暗黒美夢王とEmacs
暗黒美夢王とEmacs
Shougo
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
Akihiko Horiuchi
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
Yoshifumi Kawai
マイクロサービスにおける非同期アーキテクチャ
マイクロサービスにおける非同期アーキテクチャ
ota42y
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
Unity Technologies Japan K.K.
Retrofit2 &OkHttp でAndroidのHTTP通信が快適だにゃん
Retrofit2 &OkHttp でAndroidのHTTP通信が快適だにゃん
Yukari Sakurai
Imprementation of realtime_networkgame
Imprementation of realtime_networkgame
Satoshi Yamafuji
More Related Content
What's hot
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
DeNA
大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化
DeNA
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
Unity Technologies Japan K.K.
【Unite Tokyo 2019】AWS for Unity Developers
【Unite Tokyo 2019】AWS for Unity Developers
UnityTechnologiesJapan002
良い?悪い?コードコメントの書き方
良い?悪い?コードコメントの書き方
Shigenori Sagawa
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
Unity Technologies Japan K.K.
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
JustSystems Corporation
【Unite Tokyo 2018】その最適化、本当に最適ですか!? ~正しい最適化を行うためのテクニック~
【Unite Tokyo 2018】その最適化、本当に最適ですか!? ~正しい最適化を行うためのテクニック~
Unity Technologies Japan K.K.
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
ウェブセキュリティのありがちな誤解を解説する
ウェブセキュリティのありがちな誤解を解説する
Hiroshi Tokumaru
【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす
【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす
Unity Technologies Japan K.K.
JenkinsとjMeterで負荷テストの自動化
JenkinsとjMeterで負荷テストの自動化
Satoshi Akama
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
UnityTechnologiesJapan002
【Unity】より良い表現のためのライティング戦略
【Unity】より良い表現のためのライティング戦略
Takayasu Beharu
自動でバグを見つける!プログラム解析と動的バイナリ計装
自動でバグを見つける!プログラム解析と動的バイナリ計装
uchan_nos
暗黒美夢王とEmacs
暗黒美夢王とEmacs
Shougo
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
Akihiko Horiuchi
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
Yoshifumi Kawai
マイクロサービスにおける非同期アーキテクチャ
マイクロサービスにおける非同期アーキテクチャ
ota42y
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
Unity Technologies Japan K.K.
What's hot
(20)
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2019】AWS for Unity Developers
【Unite Tokyo 2019】AWS for Unity Developers
良い?悪い?コードコメントの書き方
良い?悪い?コードコメントの書き方
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
【Unite Tokyo 2018】その最適化、本当に最適ですか!? ~正しい最適化を行うためのテクニック~
【Unite Tokyo 2018】その最適化、本当に最適ですか!? ~正しい最適化を行うためのテクニック~
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
ウェブセキュリティのありがちな誤解を解説する
ウェブセキュリティのありがちな誤解を解説する
【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす
【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす
JenkinsとjMeterで負荷テストの自動化
JenkinsとjMeterで負荷テストの自動化
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unity】より良い表現のためのライティング戦略
【Unity】より良い表現のためのライティング戦略
自動でバグを見つける!プログラム解析と動的バイナリ計装
自動でバグを見つける!プログラム解析と動的バイナリ計装
暗黒美夢王とEmacs
暗黒美夢王とEmacs
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
マイクロサービスにおける非同期アーキテクチャ
マイクロサービスにおける非同期アーキテクチャ
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
Viewers also liked
Retrofit2 &OkHttp でAndroidのHTTP通信が快適だにゃん
Retrofit2 &OkHttp でAndroidのHTTP通信が快適だにゃん
Yukari Sakurai
Imprementation of realtime_networkgame
Imprementation of realtime_networkgame
Satoshi Yamafuji
負荷がたかいいんだから~♪(仮)
負荷がたかいいんだから~♪(仮)
Yohei Hamada
MMOのサーバについて 剣と魔法のログレス ~いにしえの女神~ での実装例
MMOのサーバについて 剣と魔法のログレス ~いにしえの女神~ での実装例
Satoshi Yamafuji
サーバーのおしごと
サーバーのおしごと
Yugo Shimizu
分割と整合性と戦う
分割と整合性と戦う
Yugo Shimizu
Fluentd and Embulk Game Server 4
Fluentd and Embulk Game Server 4
N Masahiro
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
Yugo Shimizu
Halo2 におけるHFSM(階層型有限状態マシン) 【ビヘイビアツリー解説】
Halo2 におけるHFSM(階層型有限状態マシン) 【ビヘイビアツリー解説】
Youichiro Miyake
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
Toru Takahashi
自宅で出来る!ゲームサーバの作り方
自宅で出来る!ゲームサーバの作り方
光晶 上原
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
Manabu Koga
Webアプリケーション負荷試験実践入門
Webアプリケーション負荷試験実践入門
樽八 仲川
ミリシタを支える GAE/Go
ミリシタを支える GAE/Go
Google Cloud Platform - Japan
Viewers also liked
(14)
Retrofit2 &OkHttp でAndroidのHTTP通信が快適だにゃん
Retrofit2 &OkHttp でAndroidのHTTP通信が快適だにゃん
Imprementation of realtime_networkgame
Imprementation of realtime_networkgame
負荷がたかいいんだから~♪(仮)
負荷がたかいいんだから~♪(仮)
MMOのサーバについて 剣と魔法のログレス ~いにしえの女神~ での実装例
MMOのサーバについて 剣と魔法のログレス ~いにしえの女神~ での実装例
サーバーのおしごと
サーバーのおしごと
分割と整合性と戦う
分割と整合性と戦う
Fluentd and Embulk Game Server 4
Fluentd and Embulk Game Server 4
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
Halo2 におけるHFSM(階層型有限状態マシン) 【ビヘイビアツリー解説】
Halo2 におけるHFSM(階層型有限状態マシン) 【ビヘイビアツリー解説】
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
自宅で出来る!ゲームサーバの作り方
自宅で出来る!ゲームサーバの作り方
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
Webアプリケーション負荷試験実践入門
Webアプリケーション負荷試験実践入門
ミリシタを支える GAE/Go
ミリシタを支える GAE/Go
Recently uploaded
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
Recently uploaded
(10)
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
負荷対策しておもったことまとめ~JMeterでSocket.IOもいけるでよ~
1.
負荷対策しておもったことまとめ ~JMeterでSocket.IOもいけるでよ~ Ito Eichi
2.
アジェンダ 負荷対策ってなに どんないいことがあるん? JMeterって? テストシナリオファイルって? わりと陥りやすい罠 やっとくと楽になるポイント 実施するまえに Socket.IOをJMeterで負荷試験してみる Node.jsで負荷かけるスクリプト書いてもいいけど… JMeter - WebSocket
Sampler おもったこと 謝辞と参考文献
3.
負荷試験てなに? 早い話ユーザがアクセスしてきた体で、 アクセスを大量にさせてチューニングしていく作業です。 おもにJMeterというツールを使っています。 負荷かける 測定 めでたし2 チューニング 耐え られ る? Yes! No…
4.
負荷試験するとどんないいことがあるん? • リリース後に負荷でサーバが落ちづらくなる • チューニングが運用後に比べて比較的やりやすい リリース前にくらべて仕様変更もふくめ互換性が取れない変更もできる
5.
JMeterって? • 一言でいうとサーバに負荷をかけるツール • 複数のクライアントのリクエストをエミュレーション •
変数やループ、IFなどの細やかな制御ができる
6.
テストシナリオファイルって? • JMeterがどんなリクエストを発生させるかを 指定するファイル • XMLで書かれている •
通常JMeterに読み込ませて編集、実行する • 日本語版JMeterだと「テスト計画」という呼び名
7.
わりと陥りやすい負荷試験の罠 • データ数は必要な目標DAU想定分以上いれる デバッグコマンドあると楽 レコード数さえあればOKなばあいは、 シナリオで使うデータ以外は自己結合でレコード水増し (例)実行するたびにレコードを倍にするSQL insert into
`tbl` (col1,col2) select col1,col2 from `tbl`; • 外部のAPI使っている箇所は切ろうね 課金とかフレンドとかGoogle Analyticsみたいな効果測定系 あとリリース後の監視は手厚く …切らずにやると接続先が激おこ。
8.
やっとくと楽になるポイント • 「CSV Data Set
Config」を使う ユーザIDみたいな可変項目をCSVに外だししておくと楽 • HTTP プロキシサーバを使う リクエストを自動的に収集してシナリオにしてくれて楽 簡単なシナリオならこれでほぼそのままつかえる • 実装しながらJMeterシナリオを作る 簡易ユニットテスト的な使い方で動作チェックにも使えて楽
9.
社内や開発チームと 負荷試験の必要性や どこまで確認できればOKかを 認識合わせしましょう 実施するまえに
10.
ところで…
11.
Socket.IOの負荷試験したいなあ 最近わりと使われてる
12.
よし負荷テストかける クライアントスクリプトも Node.jsで書くお!
13.
できた! …けどね
14.
…けどね パフォーマンスでないってときに、 サーバとクライアントどっちに 原因があるかわからないとき 毎回切り分けしてるとつらいー 測定条件はまだしも、サーバの仕様がかわったり 別のAPIの測定するとき、 クライアントのスクリプト作り直さないと…orz
15.
JMeterみたいにテストシナリオ 簡単に変更できないかなあ…
16.
あった! JMeter - WebSocket
Sampler https://github.com/maciejzaleski/JMeter-WebSocketSampler
17.
インストールとか
18.
JMeter準備 http://jmeter.apache.org からダウンロードして好きなところに解凍
19.
WebSoketSampler入手 https://github.com/maciejzaleski/JMeter-WebSocketSampler/releases からダウンロード
20.
Jettyもいれる(1) WebSocketSamplerが依存しているので http://download.eclipse.org/jetty/ から最新のstableをDLして解凍
21.
Jettyもいれる(2) めんどくさいのでひとまずJetty丸ごと入れる 解凍してできたディレクトリの lib/jetty*.jar lib/websocket/*.jar をJmeterを解凍したディレクトリの /lib/ext にコピー
22.
サンプラーの中に 「WebSocket Sampler」の 項目が追加されたー!
23.
Socket.IOの場合の テストシナリオの流れ Hand Shake 要求 tokenを発行 tokenをつけてWebSocket開始要求 Switching
Protocols emit emit heart beat 要求 heart beat送信 disconnect JMeter サーバ
24.
シナリオこんな感じになります
25.
テストシナリオ実行中の動画
26.
おもったこと (読み飛ばし可) • JMeterを起動するときMac版はjmeter.shの設定の関係で プラグインがよみこまれなかった • WebSocketのハートビートは自分でやらないと タイムアウトでしばらくすると接続きれちゃう •
一回ブラウザ上でsocket.io-clientをつかって実装して、 Chromeとかのデバッグウィンドウ通信を眺めてみると感覚がつかみやすいかも • それでも不明なところはsocket.io-clientの ソースを読んでみるのもアリ(ちょっとしんどかった) • JMeterのクラスター構成でもうごいたー • コマンドラインでもうごいたー • ログの形式は独自なので今後コンバータか何かつくりたい つまり正直しんどかったお…
27.
謝辞と参考文献 nkns165さんのこちらのページを参考に させていただきました。 JMeterでWebSocketのパフォーマンステスト
http://qiita.com/nkns165/items/8cd82bf8b93826dfdca2
28.
ご清聴ありがとうございました。
Editor's Notes
濱田さんからご紹介に預かりましたCygamesで負荷対策をしている伊藤です。
負荷対策の基本的なところから 最近ちょっとおもしろいJmeterのつかいかた Socket.IOがなんとかって書いてあるところですね こちらのお話を致したいと思います。 よろしくおねがいします。
リリース前に本番に想定されるアクセス数に応じた リクエスト(負荷)をかけて、 そのゲームサーバがアクセスに耐えられるかどうか確かめ、 チューニングしていく作業。 早い話ユーザがアクセスしてきた体で、 アクセスを大量にさせて調子をみるというかんじ。
おもにデータ投入と外部のAPIを使ってる箇所やっちゃいやすいですね。
他にもいろいろあるんですが、すぐできそうなところだと CSV Data Set Configと HTTPプロキシサーバっていうのはJmeterのきのうですね
とまあいろいろ一筋縄でいかないことがあるかとはおもいますので、 実施する前にゴールを認識合わせしておくとスムーズです。 あと、慣れてくるとちょっと楽しくなってきます。
ところで…最近負荷対策をしてて面白いとおもったことを紹介したいです。
けどね…
本当はgithubの
hand shake通常のHTTPリクエストで connectとそのレスポンスからtoken取得コネクションを維持する際、Connection idにも注意 tokenをつけてemit tokenをつけてheartbeat disconnect
いろいろこまかいところあるんですがながいので… 正直しんどかったっす でもいろいろSocket.IOの理解が深まって勉強になりました。
Download now