2008-10-04 4 views
0

Профилировщик SQL Server отлично подходит для профилирования производительности SQL Server для веб-приложений. Тем не менее, когда я тестирую свой webapp, мне бы хотелось получить итоговые данные о хитах/длительности базы данных на странице.Какие утилиты могут предоставлять удары/продолжительность базы данных на страницу?

Кто-нибудь знает какие-либо утилиты для предоставления вам такой информации?

ответ

1

Если вам нужна продолжительность на странице, я бы рекомендовал Google Analytics.

Если вам нужна сводка данных о попаданиях в базу данных (т. Е. Вы запускаете три процедуры во время загрузки одной страницы, чтобы вы подсчитали количество трех), я бы рекомендовал добавить код аудита к вашим sprocs.

В качестве альтернативы (хотя и более дорогостоящей с точки зрения обработки) вы можете включить SQL Profiler или SQL Trace, а затем отслеживать удаленные базы данных таким образом, чтобы выполнять статистический анализ на них.

1

Я бы рекомендовал установить процедуру доступа к данным, которая будет использоваться для всего сайта.

Эта процедура/класс/или все что угодно может войти в базу данных или в лог все «хиты», их длительность, ошибка (любая), тайм-аут и т.д.

Если вы программируете его правильно , вы сможете узнать, сколько БД попало/загрузка страницы, avg (DBHit) +, вы получите в качестве бесплатного бонуса «самый длинный SProc, самый короткий, чаще всего называемый».

Положительная сторона этого заключается в том, что вам не нужно изменять какие-либо хранимые процедуры, и вы можете иметь небольшую «обертку» вокруг вашего доступа к БД.

Для «Длительности на страницу», если вы перейдете к анализу Google, вы не сможете объединить информацию с тем, что вы получили на сервере базы данных. Поэтому я бы рекомендовал регистрировать каждый доступ к странице в БД.

Тогда вы можете сделать вывод, что Page1.StartTime = getdate(), Page1.EndTime = (page2.Starttime-1 или session.log_off_time), например. [Это немного принципиально, но в соответствии с вашей средой вы можете улучшить его].