SignalR Tune-up

50 %
50 %
Information about SignalR Tune-up

Published on March 1, 2014

Author: xin9le



Room metro #23 資料

SignalR Tune-up - 効率的な通知を目指して Room metro #23

About Me Name 鈴木孝明 Twitter Account @xin9le Award Microsoft MVP for Visual C# Blog

Recent interests Reactive Extensions Asterisk 統計/解析 SignalR

業務でSignalR使ってます CTI (電話応対システム) 某東証一部上場企業のコールセンターを支えるシステム担当 最先端の.NET技術を利用してほぼ一人で実装 主にモニタリングに利用 オペレーターの状態 / 回線の状態 / IVR (音声自動応答) の進捗 応対本数 / 回線の応答率 / タスク管理 (etc...)

CTIシステム概略 ユーザー IVR SignalR モニター Web API Webアプリ(外注) DB オペレーター

Basis of SignalR 今日必要な部分を簡単に

接続管理 接続ごとに GUIDの自動割り当て (ConnectionId)


メッセージ配信のコスト Client数: 100 通信頻度: 1回/s 通知先: 全Client =10000 messages/s Client数2 × 通信頻度 = 配信メッセージ数

気を付けるべきポイント 通信回数 可能な限り減らし、CPU負荷を軽減 データ転送量 データ量を減らし、回線圧迫の低減と直列化コストの削減

Optimization メッセージ配信の最適化





適切な送信先の選択 Clients.All Clients.Caller 接続済み全クライアント 呼び出し元のみ Clients.Others 呼び出し元以外 Clients.Client(id) Clients.AllExcept(id1, ...) 指定IDのクライアントのみ 指定IDのクライアント以外 Clients.Group(name) 指定のグループのみ 指定IDのクライアントを 除いたグループ全員 Clients.Group(name, id1, ...) Clients.OthersInGroup(name) 呼び出し元を除いた グループ全員

適切な送信先の選択 (SignalR 2.0 -) Clients.Clients(ids) Clients.Groups(names, id1, ...) Clients.OthersInGroups(names) Clients.User(userId) Clients.Users(userIds) 指定IDのクライアント 指定IDのクライアントを 除いたグループ全員 呼び出し元を除いた 指定のグループ全員 指定のユーザー名 指定のユーザー名


導入の効果 通信量 削減 CPU負荷 軽減 サーバー / クライアント 両方に効果あり

SignalR ♡ Rx Buffer Distinct Sample Throttle

クライアント側の対策 律儀に全部 送信しない


検討/考慮すべきこと (総量は減るが) (意図的な) 遅延が発生 一度に送る 通信量UP 間引きの性質と システム要件の調整

Other Approaches まだやれること、あるよね


通常の配信 UserStatus Tweet




非同期処理 応答性UP サーバー側 の修正のみ

Micro-ORMの利用 高速な DBアクセス Dapper オススメ LINQ to SQL から乗り換え (弊社事例) 50倍 最大 高速化 (当社比)


Conclusion これだけは覚えて帰りましょう!

今日のまとめ 配信先を 適切に 可能な限り 間引く まとめて 配信する リクエスト を高速処理

公式サイトも参考に Tutorial: High-Frequency Realtime with SignalR 2.0 SignalR Performance

SignalR ♡ Rx

ReactiveSignalR SignalRの少し面倒な記述をRxを使って楽に

Thank you Enjoy SignalR!!

SignalR Interactive communication to you.

Add a comment

Related presentations

Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...

In this presentation we will describe our experience developing with a highly dyna...

Presentation to the LITA Forum 7th November 2014 Albuquerque, NM

Un recorrido por los cambios que nos generará el wearabletech en el futuro

Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...

Microsoft finally joins the smartwatch and fitness tracker game by introducing the...

Related pages

SignalR Tune-up -

Room metro #23 SignalR Tune-up - 効率的な通知を目指して - Name 鈴木孝明 Twitter Account @xin9le Award Microsoft MVP for Visual C# Blog http ...
Read more

Tune Up | Oil Change | Car Maintenance - Auto Repair St ...

Tune Up. Signal Garage Auto Care is your trusted auto service shop in the area! Be sure to bring in your car for an oil change and other car maintenance.
Read more

Set up a TV signal in Windows Media Center - Windows Help

Learn how to set up a TV signal to watch and record live TV in Windows Media Center.
Read more

Busy Signal- Swag Tun Up ( Drink and Party Riddim) ( May ...

Busy Signal- Swag Tun Up ( Drink and Party Riddim) ( May 2011) DIFF'RENT LEVELZ MUSIC. Subscribe Subscribed Unsubscribe 443 443. Loading...
Read more

f(x) – Signal | ♪Tune Up♪

Lyrics in many languages and all genres! ~Korean, Japanese, Chinese, Thai, Indonesian, Persian, Finnish, Spanish, English, French, German and ...
Read more

Scuba Review Program | PADI

The Scuba Review program is just the refresher you need to brush up on your knowledge ... Register for Scuba Tune-up Online – PADI’s eLearning ...
Read more

AVG Now Official Blog - Online Security News & Tips

AVG Strengthens Channel with Product Enhancements, New Partners and Ce… APH improves margins, drives revenue with AVG Business solutions ...
Read more

Tune up - definition of tune up by The Free Dictionary

Define tune up. tune up synonyms, tune up ... Electronics Adjustment of a receiver or circuit for maximum response to a given signal or frequency.
Read more