26 января 2011 г.

Загадочный DataGrid

Представьте ситуацию, когда у Вас страница, на которой ничего толком-то и нету грузится 15 секунд. Что делать? Оптимизировать конечно!


Сначала я проверил как быстро выполняются запросы к БД, оказалось очень быстро, просто мгновенно. Далее тестам подверглись некоторые куски кода, которые тоже показали хорошие результаты. Пришлось включить трассировку для страницы, увидеть и ужаснуться. Render страницы порядка 14-16 секунд. Как Вам?


Идем дальше и выясняем, что рендерится так долго исключительно DataGrid в который мы передаем порядка 25 записей. Но что оказалось самым удивительным, это тот факт, что отрисовка контролов LinkButton и ImageButton, как раз и давала нам наши тормоза. Потратив кучу времени на поиски хоть чего-то по этой проблеме в Интернете, я ничего не нашел. А проблема была решена простым переименованием контролов. Никаких скриптов на данные контролы не накручено, ничто с ними не работает. Вот так вот! Если получится докопаться до истины, то чуть позже напишу, из-за чего так получилось?