Анализ результатов нагрузочного теста Microsoft Chat Bot (Application Insights) - PullRequest
0 голосов
/ 06 января 2019

Вот детали одной из транзакций (для большинства транзакций наблюдение одинаковое). Приведенные ниже снимки экрана представляют собой «детали сквозной транзакции», которые можно найти в разделе «Параметры производительности Application Insights».

Общая продолжительность транзакции составляет около 29,4 секунды из ~ 26 секунд, потраченных между шагами 1 и 2, отмеченными на приведенных ниже скриншотах шкалы времени и телеметрии.

Timeline enter image description here

Telemetery

enter image description here

Может кто-нибудь помочь мне понять разрыв между шагами 1 и 2 и как я могу уменьшить это, чтобы повысить производительность.

Как вы также можете видеть на скриншоте Telemetery, что пользовательские сообщения трассировки также печатаются (выделены красным), упомянутые в MessagesController.cs

[ResponseType(typeof(void))]
    public virtual async Task<HttpResponseMessage> Post([FromBody] Activity activity)
    {

        var telemetry = new Microsoft.ApplicationInsights.TelemetryClient();
    telemetry.TrackTrace("MessagesController POST",
            Microsoft.ApplicationInsights.DataContracts.SeverityLevel.Warning,
            new Dictionary<string,string> { {"Activity Id", activity.Id} });

        // check if activity is of type message
        if (activity != null && activity.GetActivityType() == ActivityTypes.Message)
        {
            telemetry.TrackTrace("MessagesController Type:Message",
            Microsoft.ApplicationInsights.DataContracts.SeverityLevel.Warning,
            new Dictionary<string,string> { {"Activity Id", activity.Id} });

            //var reply = activity.CreateReply(String.Empty);
            //reply.Type = ActivityTypes.Typing;
            //await context.SendResponse(reply);
            await Conversation.SendAsync(activity, () => new EchoDialog());

Если после выполнения этой строки - await Conversation.SendAsync (activity, () => new EchoDialog ()); оно помещает сообщение в некоторую очередь, а затем оно захватывается EchoDialog через какое-то время?

Заранее спасибо!

1 Ответ

0 голосов
/ 09 января 2019

Это было связано с созданным мной скриптом загрузки. Сценарий загрузки создавал один и тот же идентификатор беседы для нескольких пользователей, и поэтому для извлечения записи диалога требовалось время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...