2015-02-10 2 views
0

У меня есть два отдельных DAL проекта, и я хочу сравнить их, чтобы узнать, какой из них лучше DAL в отношении производительности. Показатели производительности, которые я имею в виду, это память, время выполнения запросов и т. Д. Проблемы, с которыми я столкнулся:Сравнение двух отдельных слоев доступа к данным (DAL) проекта

1) Я использовал профилировщик визуальной студии и создал два отчета, но в некоторых случаях значения, которые общие для обоих проектов не совпадают. (Я прочитал, что для этого инструментария виноват)

2) Также у меня есть метод вставки в обоих DAL, производительность которых я хочу сравнить, когда я использую отчеты сравнения Опция не показывает значение, поскольку сравнение представляет собой метод в разных проектах.

Value missing

Любые предложения к подходу я могу использовать, будет полезна.

Кроме того, профилирование является единственным методом оценки производительности приложения для моего случая?

ответ

1

Профилирующие инструменты обычно сильно искажают измерения, неудивительно, что результаты, которые вы получаете, непоследовательны.

Я бы предложил просто использовать секундомер, чтобы измерить цикл, скажем, 100000 операций доступа DB через каждый из DAL. Вы можете измерить среднее время за одну операцию и общую продолжительность теста.

В то время как цикл работает, у него есть счетчики отображения Perfmon CPU, .NET CLR Memory\# Bytes in all heaps, .NET CLR Memory\% Time in GC. Было бы также полезно измерить пропускную способность транзакций из базы данных, например MSSQL$SQLEXPRESS\Transactions/sec и MSSQL$SQLEXPRESS:SQL Statistics\Batch Requests/sec (при условии, что вы используете SQL Express, другие СУБД обычно поставляют аналогичные счетчики).

Я думаю, что это должно дать вам достаточно информации для принятия решения.

+0

секундомер действительно помог. можете ли вы предложить аналогичное решение, если я хочу посмотреть время, затраченное на выполнение запросов? –

Смежные вопросы