В настоящее время я создаю веб-сайт по созданию пользовательских компьютеров, однако у меня проблема в том, что мой 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>© @DateTime.Now.Year - Building computer for you by you!</p>
</footer>
</div>
</body>
</html>
В соответствии с просьбой я создал новый веб-сайт ASP.net и отладил его, из этого я получил водопад со временем загрузки 270 мс и TTFB 12 мс