Очень длинный TTFB на ASP.net, работающий на IIS - PullRequest
0 голосов
/ 20 марта 2019

В настоящее время я создаю веб-сайт по созданию пользовательских компьютеров, однако у меня проблема в том, что мой TTFB работает очень медленно при работе на домашнем сервере IIS. У меня есть несколько веб-сайтов, работающих на этом сервере, и это единственный с TTFB 20-30 с.

Я использовал webpagetest.org для проверки своего веб-сайта и получаю это изображение водопада .

Однако затем я тестирую свой веб-сайт на отладку, используя VS и собственные инструменты разработчика Chrome, и моя потеря воды дает мне 1 секунду. Мне было интересно, как диагностировать и тестировать проблемы на сервере или на моей странице, которые могут быть причиной этого. Вот фрагмент кода моей домашней страницы для тех, кто интересуется Контроллер:

namespace ComputerSite.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }

Макет (единственная часть страницы без статического содержимого):

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@ViewBag.Title - Computers for you!</title>
@Styles.Render("~/Content/boot")
@Scripts.Render("~/bundles/modernizr")

@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryval")
@Scripts.Render("~/bundles/ajaxgroup")
@Scripts.Render("~/bundles/bootstrap")
@Scripts.Render("~/bundles/datatables")
@Scripts.Render("~/bundles/tawk")
@if (Request.IsAuthenticated)
{
    string text = UserHelper.GetUserEmail(User.Identity.Name), key = "MY APIKEY";
    System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();

    Byte[] textBytes = encoding.GetBytes(text);
    Byte[] keyBytes = encoding.GetBytes(key);

    Byte[] hashBytes;

    using (System.Security.Cryptography.HMACSHA256 hash = new System.Security.Cryptography.HMACSHA256(keyBytes)) { hashBytes = hash.ComputeHash(textBytes); }

    string hashTxt = BitConverter.ToString(hashBytes).Replace("-", "").ToLower();

    <script type="text/javascript">
        Tawk_API.onLoad = function(){
        Tawk_API.setAttributes({
        'name' : '@User.Identity.Name',
            'email': '@UserHelper.GetUserEmail(User.Identity.Name)',
        'hash': '@hashTxt'
}, function (error) {});

};
    </script>
}
@RenderSection("scripts", required: false)
</head>
<body>
@{ Html.RenderPartial("_navBar"); }
<div class="container body-content">
    @RenderBody()
    <hr />
    <footer>
        <p>&copy; @DateTime.Now.Year - Building computer for you by you!</p>
    </footer>
</div>

</body>
</html>

В соответствии с просьбой я создал новый веб-сайт ASP.net и отладил его, из этого я получил водопад со временем загрузки 270 мс и TTFB 12 мс

...