Вы сделали замечательный сайт, начали работать, появляется трафик и ваш сайт начинает работать нестабильно, падает периодически.
Критичность очень высокая, т.к. вы вложили много сил и средства в него и трафик, а теперь эти усилия сводятся на нет из-за тупой ошибки разработчиков.
1. Имейте возможность быстрого наращивания мощностей сервера. Это не полное решение проблем, но у вас будет время для поиска реальной причины проблемы
2. Должна быть постоянная команда сопровождения проекта. Возникла проблема – сразу надо ее решать, а не тратить время на поиски подрядчика.
3. Имейте четкую процедуру реагирования на подобные инциденты для уменьшения времени простоя.
В случае заказной разработки вероятность довольно высока, т.к. очень легко занести утечку памяти или процессора.
На малых данных она не видна, но когда база станет большой, то возникнут проблемы.
1. Должны быть опытные разработчики в проекте
2. Используйте проверенные технологии, а не ведитесь на моду.
3. Проект – не поле экспериментов для разработчиков (дайте-ка я применю здесь эту новую непонятную технологию…)
4. Проводите нагрузочное тестирование на большом объеме данных
5. Имейте средства диагностики работы сайта
6. Стремитесь к простоте. Если система изначально получилось сложной, то рано или поздно она падет под увеличивающейся сложностью по мере развития проекта
7. Если что-то работает в системе медленно – значит этого не должно быть в системе. Не нужно без оглядки гнаться за возможностями в системе.
Наш опыт – это использование технологии LINQ, которая вроде бы удобная в использовании, но содержит кучу подводных камней внутри. Сейчас мы работаем на чистом SQL – это быстрее, проще отлаживать и меньше неприятных сюрпризов.
Простота решает, используйте проверенные технологии, ставьте скорость и надежность во главу угла.