IoTHub 장치의 전송 시간
6789 단어 AzureIoTHubAzure
전제 조건
측정 방법
Console Application(.NET4.6)、nuget、Microsoft.Azure.Devices.DeviceClient를 받으려면 클라이언트를 추가합니다.SendEventAsync 메서드를 통해 전송되었습니다.
CloseAsync 시 SendEventAsync가 동결되기 때문에 DeviceClent 실례를 다시 사용할 수 없다고 판단합니다.매번 DeviceClient를 실례화하기로 했습니다.
Device Explorer를 보면 OpenAsync가 아닌 첫 번째SendEventAsync로 연결하기 때문에 첫 번째 발송 시간에서 두 번째 발송 시간의 값을 빼고 연결에 필요한 시간으로 합니다.
코드 class Program
{
private const string DeviceConnectionString = "xxx";
static void Main(string[] args)
{
MyTask().Wait();
Console.WriteLine("Hit any key.");
Console.ReadKey();
}
static async Task MyTask()
{
for (int count = 0; count < 30; count++)
{
var sw0 = new System.Diagnostics.Stopwatch();
var sw1 = new System.Diagnostics.Stopwatch();
Message eventMessage1st = new Message(Encoding.UTF8.GetBytes(Guid.NewGuid().ToString()));
Message eventMessage2nd = new Message(Encoding.UTF8.GetBytes(Guid.NewGuid().ToString()));
using (DeviceClient deviceClient = DeviceClient.CreateFromConnectionString(DeviceConnectionString, TransportType.Mqtt))
{
sw0.Restart();
await deviceClient.SendEventAsync(eventMessage1st);
sw0.Stop();
sw1.Restart();
await deviceClient.SendEventAsync(eventMessage2nd);
sw1.Stop();
await deviceClient.CloseAsync();
}
Console.WriteLine($"{count},{sw0.ElapsedMilliseconds},{sw1.ElapsedMilliseconds}");
await Task.Delay(1000);
}
}
}
결과
Reference
이 문제에 관하여(IoTHub 장치의 전송 시간), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/matsujirushi/items/3767670ce78ad31b771b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
class Program
{
private const string DeviceConnectionString = "xxx";
static void Main(string[] args)
{
MyTask().Wait();
Console.WriteLine("Hit any key.");
Console.ReadKey();
}
static async Task MyTask()
{
for (int count = 0; count < 30; count++)
{
var sw0 = new System.Diagnostics.Stopwatch();
var sw1 = new System.Diagnostics.Stopwatch();
Message eventMessage1st = new Message(Encoding.UTF8.GetBytes(Guid.NewGuid().ToString()));
Message eventMessage2nd = new Message(Encoding.UTF8.GetBytes(Guid.NewGuid().ToString()));
using (DeviceClient deviceClient = DeviceClient.CreateFromConnectionString(DeviceConnectionString, TransportType.Mqtt))
{
sw0.Restart();
await deviceClient.SendEventAsync(eventMessage1st);
sw0.Stop();
sw1.Restart();
await deviceClient.SendEventAsync(eventMessage2nd);
sw1.Stop();
await deviceClient.CloseAsync();
}
Console.WriteLine($"{count},{sw0.ElapsedMilliseconds},{sw1.ElapsedMilliseconds}");
await Task.Delay(1000);
}
}
}
결과
Reference
이 문제에 관하여(IoTHub 장치의 전송 시간), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/matsujirushi/items/3767670ce78ad31b771b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(IoTHub 장치의 전송 시간), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/matsujirushi/items/3767670ce78ad31b771b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)