Поиск ASPX-страницы медленно возвращаются - PullRequest
0 голосов
/ 21 марта 2012

У меня есть веб-сайт asp.net, есть searchResult.aspx, он запускает сценарий sql для извлечения данных из базы данных сервера MS SQL, а затем помещает данные в формат HTML, веб-сайт был развернут в IIS7.5 Сервер.Я реализовал как статическое, так и динамическое сжатие, это означает, что все мои страницы js, css и aspx были сжаты перед отображением в браузере.

К сожалению, searchResult.aspx очень медленно возвращается при поиске большого слова, напримербиография, это в среднем занимает более 10 секунд, чтобы вернуться.и я использовал Firebug Net, чтобы отследить его, блокировка, DNS Lookup, Connecting and Sending занимают не более 10 мс, но ожидание занимает более 10 секунд.Поэтому я добавил некоторый код в начало и конец функции Page_Load (отправитель объекта, EventArgs e), а также в начало и конец элемента HTML-тела, как показано ниже:

   protected Stopwatch stopwatch = new Stopwatch();
   protected void Page_Load(object sender, EventArgs e)
    {
        stopwatch.Start();
        ....
        stopwatch.Stop();
        timeForSearch = stopwatch.Elapsed.Milliseconds;
     }


    <body>
      <%
       stopwatch.Reset();
        stopwatch.Start();
       %>
       ....


      <%stopwatch.Stop();%>
 <%=timeForSearch%>+<%=stopwatch.Elapsed.Milliseconds%>=<%=stopwatch.Elapsed.Milliseconds + timeForSearch%>

Хорошо, обычно timeForSearch и timeна заполнение страницы aspx уходит всего 1 секунда, но почему загрузка страницы занимает более 10 секунд, любая помощь будет оценена по достоинству.


спасибо за ответ, страница aspx была разархивирована до 8,2 КБ.не большой файл

Ответы [ 2 ]

0 голосов
/ 23 марта 2012

Я подумал, что, может быть, я это исправил, я отключаю журнал IIS, затем страница поиска может быть загружена в течение 3-5 секунд, кажется, что она значительно улучшилась.Но я все еще думаю о том, что отключение журнала IIS - хороший выбор.

0 голосов
/ 22 марта 2012

Попробуйте установить для свойства Trace директивы @Page значение true.

<%@ Page ... Trace="true" %>

В разделе «Информация о трассировке» вы определите, какое событие жизненного цикла страницы требует больше времени для выполнения и, возможно, поможет вам отладить.

Вы используете мастер-страницы? У вас есть пользовательские элементы управления на вашей странице? События управления пользователем происходят после событий их родителей. То есть UserControl.Init возникает после Page.Init (но до Page.Load), а UserControl.Load происходит после Page.Load.

Если это так, вы можете исследовать Page_Load в этих элементах управления.

...