Я пытаюсь улучшить производительность службы Windows, разработанной на C# и .NET 2.0, которая обрабатывает большое количество файлов. Я хочу обрабатывать больше файлов в секунду.Запрос из базы данных или из памяти? Что быстрее?
В своем процессе для каждого файла служба выполняет запрос базы данных для извлечения некоторых параметров системы.
Эти параметры меняются ежегодно, и я думаю, что я бы получил некоторую производительность, если бы загружал эти параметры в качестве одноэлементного и периодически обновлял этот синглтон. Вместо запроса базы данных для каждого обрабатываемого файла я получаю параметры из памяти.
Для завершения сценария: Я использую Windows Server 2008 R2 64 бит, SQL Server 2008 - это база данных, C# и .NET 2.0, как уже упоминалось.
Я прав в своем подходе? Что бы вы сделали?
Спасибо!
Звуки о правильном ... Не знаю, что еще ответить? : P – FarligOpptreden
Мне кажется, что это хорошая идея. Система кэширования будет эффективной. – ken2k
Я думаю, это зависит от того, сколько материала вам нужно хранить. Если это небольшой объем данных, тогда идите и сохраните его в памяти. Память всегда будет быстрее, чем на жестком диске. В то время как сервер sql будет делать хорошую работу по поддержанию буферизации вещей, если вы все сохраните сами, он всегда будет в памяти. Не уверен, какая часть торговли вы получите. Используйте профилировщик .net EQATEC (свободная версия) и сравнивайте запрос с чтением памяти. – JeremyK