Какой самый быстрый способ повышения производительности базы данных?
я должен идти прямо к моей цели (5000 пользователей)?
Или я должен пройти через искусственные вехи - (например - сначала 1000 пользователей, только потом 2500 ...)?
у нас проблемы с производительностью. Для цели вопроса предположим, что единственным узким местом является база данных, а все другие ресурсы потребляют ноль времени.
Факты:
- Производительность базы данных для 50 одновременно работающих пользователей хорошая
- Производительность базы данных более 50 недопустима, и я имею в виду, что запросы к базе данных занимают слишком много времени. Вместо ~ 0,5 с они обычно занимают от ~ 2 до ~ 7 с, а иногда даже ~ 30 с
- Приблизительно у 70 пользователей система перестает работать вообще, большинство запросов к базе данных занимает более ~ 30 секунд
- База данных реализована в SQL SERVER 2005 \ 8
Требования:
Приложение должно поддерживать 5000 одновременно работающих пользователей.
Насколько я понимаю, и, пожалуйста, исправьте меня, если я ошибаюсь или что-то упущено, лучший способ улучшить производительность базы данных:
- Определение целевых показателей производительности.
- Создание среды тестирования, идентичной (насколько это возможно) производственной среде
Проверьте, в порядке ли целевые показатели производительности. если нет, сделайте следующее, пока не достигнете цели производительности
3.1 Повышение производительности (за один раз) путем переконфигурации сервера, улучшений индексов, улучшений кода, улучшений структуры базы данных и многого другого с использованием таких инструментов трассировки и мониторинга, как - счетчики производительности, профилировщик SQL Server, журналы и многое другое
3.2 Проверьте и проанализируйте влияние изменений и примите или отклоните их
Мой вопрос:
Предполагая, что заставить систему работать на чем-то еще, чем 5000, скажем, например, 1000 или даже 2500 пользователей Не дает никакой ценности для бизнеса , Каков самый быстрый способ , чтобы добраться до 5000 пользователей?
- Добраться туда напрямую?
- Или сначала доберитесь до меньших вех?
например - сначала цель 500 пользователей, затем 1000, затем 2500 ....
-
Что-то еще ??
Получу ли я какую-либо техническую выгоду от использования вех, которые в итоге приведут меня к 5000 пользователям быстрее?