У меня небольшая база данных (<1 Гб), но у нас на сайте много сложной логики, и клиент жалуется на время рендеринга, которое составляет 3-5 секунд. Мы не Google, и тысячи пользователей в день - наша мечта, поэтому размер - не проблема, а скорость важна. Может ли кто-нибудь поделиться опытом работы с SSD-дисками для приложений на основе ASP.NET (MVC) / LINQ / MS SQL? Как повысилась ваша производительность?
ОБНОВЛЕНИЕ: в этом техническом документе указано, что он будет в 20 раз быстрее. http://www.texmemsys.com/files/f000174.pdf
Я бы добавил свой комментарий к более раннему ответу, но у меня недостаточно репутации ... так что вперед ...
Купите больше оперативной памяти. Намного больше оперативной памяти. Если у вас 4 ГБ, выберите 16 ГБ или 32 ГБ. Даже 32 ГБ или RAM, вероятно, будут дешевле, чем ХОРОШИЙ SSD. Большинство SSD-накопителей ничем не лучше жестких дисков, за исключением дорогих дисков Intel (есть и другие SSD-накопители, которые даже быстрее, но они намного дороже).
Если ваша база данных занимает всего 1 ГБ, SQL Server будет кэшировать почти все это в памяти, если вы добавите достаточно памяти. Единственное исключение - если ваш процесс записывает много данных. Если у вас есть 1000 транзакций INSERT, которые должны выполняться для каждого действия пользователя, большой объем памяти не поможет, и тогда SSD-диск МОЖЕТ быть полезен ... но я подозреваю, что это не так. В любой операции чтения память всегда улучшает производительность намного больше, чем жесткие диски.
Вы действительно проследили, в чем заключается ваша проблема? Это в запросе к базе данных? Он обрабатывает запрос на стороне сервера? Рендеринг контента? Передача визуализированного контента? Существует множество областей, которые могут снизить производительность многоуровневого веб-приложения, и для значительного повышения производительности необходимо проанализировать, что замедляет работу.
Не очень хорошо отвечать на собственный вопрос, но ...
У меня есть два крупных проекта, над которыми я работаю. Оба используют MS SQL / LINQ / ASP.NET One старше и имеют очень нормализованную структуру таблиц. Это означает, что для отображения информации об одном бизнес-объекте я читал, вероятно, 5-6 связанных таблиц.
Другой более новый и требует более высоких показателей производительности. Он также использует LINQ. В рамках текущей архитектуры я вынужден искать по одной дополнительной записи для каждого результата поиска.
С SSD: 1-й проект. 30-50% улучшение общей загрузки страницы. Так что это действительно полезный второй проект. Улучшение общей загрузки страницы на 10-20%. разница практически минимальная. Однако у меня возникло ощущение, что в этом случае система более готова к стрессу и случайным чтениям.
В итоге, если для вашего размера SSD стоит около 2-3 человеко-дней, я бы рекомендовал его использовать, но не ожидаю больших улучшений.
Я полагаю, у вас есть правильный RAID-массив?
Вам НЕ НУЖНЫ SSD, с точки зрения оборудования .... RAM = БОГ. Добавление SSD НЕ даст вам никаких преимуществ. SSD-диски полезны в качестве серверной части для временных таблиц, когда вы выполняете обработку в терабайтах.
купить некоторые книги у Вот. Они научат вас, как оптимизировать схему и запросы.
Вы оценили свои фактические запросы относительно своей БД? Ваша производительность должна быть лучше, чем вы видите.
Я не эксперт по серверам, но у меня был тот же вопрос по этому поводу. ЕСЛИ у вас есть достаточно знаний, вы можете понять следующую статью, где они сравнивают стоимость оценки и производительность.
Исследование цены и производительности твердотельных накопителей и жестких дисков