Я ожидаю высокой посещаемости корпоративного сайта, которым я управляю. В настоящее время сайт размещен на виртуальном хостинге godaddy.
Поскольку это будет IPO для компании моих клиентов, поэтому я понятия не имею, какой будет всплеск трафика.
Как мне планировать и какой план хостинга выбрать на godaddy или на любом другом хостинге.
Актуальны ли облачные вычисления в данной ситуации. Какое решение будет лучшим / рентабельным.
Сайт представляет собой очень маленькую CMS в классических ASP и MsAccess DB.
Также предложите, если мне нужно проверить какие-либо проблемы, связанные с программированием, чтобы сделать сайт безупречным во время высокого трафика.
С уважением, солнечно
Ключом к тому, чтобы выжить при массовом притоке трафика, является увеличение количества одновременных запросов, которые вы можете обрабатывать, что означает: а) уменьшить время, необходимое для отображения страниц, чтобы вы могли быстрее обслуживать больше посетителей, или б) получить платформу хостинга, которая способен обрабатывать больше соединений.
Если вы ожидаете большого медиа-трафика, виртуальный хостинг не для вас. По крайней мере, вам следует временно перейти на VPS или выделенный сервер - это критическое время для вашего бизнеса (и вас), и вам не нужны проблемы с веб-сайтом и электронной почтой.
Если у вас мало времени, я бы не рекомендовал переходить на что-то вроде облака - вы не собираетесь сильно масштабироваться по горизонтали, насколько известно (но у меня почти нет опыта в этом - я могу ошибаться). Вам также потенциально придется пройти через смену DNS и смену хостов - что может быть травмирующим опытом в зависимости от групп поддержки с обеих сторон. Посмотрите, сможет ли godaddy подключиться к выделенному серверу - это предоставит вам выделенное время ЦП и оперативную память и вытащит вас из среды, в которой вас потенциально могут отключить за влияние на других пользователей. Вы можете быть на этом плане только месяц или два - тогда вы сможете принять решение, подходит ли вам возврат к общему хостингу.
Если у вас есть время переместить копию своего сайта на выделенный сервер перед повторным указанием DNS, вы должны посмотреть, сможете ли вы протестировать эту копию своего сайта до того, как она будет запущена, чтобы увидеть, нужна ли вам дальнейшая оптимизация или тратить деньги на этого было достаточно. Вы можете использовать что-то вроде apache ab, если у вас есть доступ к Linux-машине (или вы можете взять дешевый linux vps) - краткое руководство по этому поводу можно найти здесь: http://www.cyberciti.biz/tips/howto-performance-benchmarks-a-web-server.html
Что касается других оптимизаций, SQL-сервер, вероятно, работает быстрее, чем доступ, и, вероятно, может быть настроен на вашем выделенном компьютере или VPS. Вы захотите привлечь разработчиков сайта и посмотреть, смогут ли они реализовать какое-либо кеширование или могут ли они сделать какие-либо оптимизации базы данных, поскольку это снизит время, необходимое для отображения страницы и перехода к следующему посетителю.
Я думаю, вам нужно определить высокий трафик / объем и ожидаете ли вы, что ms access db будет общим ресурсом. Использует ли сайт SSL? Без дополнительных подробностей это звучит как рецепт отказа, если что-либо, одновременный доступ и конкуренция в этой базе данных доступа могут быть серьезным узким местом. Если db является только локальным ресурсом, то есть нет общей пользовательской таблицы или чего-либо подобного, вы можете распараллелить сайт в кластере / облаке. Приведенная выше рекомендация Джима - хороший шаг, если это правда, хотя большинство веб-сайтов с доступом к базе данных не являются масштабируемыми по горизонтали.
Одна вещь, которую вы, возможно, захотите рассмотреть, - это система обратного прокси / кеширования / управления приложениями, такая как устройство Zeus ZXTM. Это не только обратный прокси / балансировка нагрузки, но и действительно хороший кеш, и, что наиболее важно, он может либо передавать уровни нагрузки вашим веб-серверам и / или серверам приложений (что позволяет им изменять свои ответы в зависимости от нагрузки), либо может фактически изменять страницы, проходящие через него, чтобы уменьшить нагрузку. В частности, они могут изменять размер / вес страницы по мере увеличения нагрузки. Веб-сайт BBC использует четыре / шесть таких устройств для управления всей производственной внешней веб-системой - когда появляется большое новостное событие, нагрузка возрастает, а сложность страницы снижается, а это означает, что огромное количество обращений на 100% считывается из кеша. Это действительно классная система.
Во многом это зависит от вашего кода и использования ресурсов. Если вы ожидаете большого объема трафика, ваше кеширование будет чрезвычайно важным.
Масштабирование обычно НЕ является проблемой оборудования сразу. Аппаратное обеспечение - это бандаж, который некоторые люди используют в попытке исправить плохо написанное программное обеспечение.
Сделайте как можно больше своего контента статичным и разместите его на другом хосте. Добавление сложности кода для облачных вычислений сделает для вас меньше, чем чистый оптимизированный веб-сайт.
Сам Stackoverflow - очень хороший пример, у них был один веб-сервер, пока они не превысили 1 миллион просмотров страниц в день. Сайт был очень популярен и существовал месяцами на единственном оборудовании.
Посмотрите профиль своего сайта и любые ограничения, которые у вас могут быть (например, насколько быстро вы можете обслуживать веб-страницы с вашей текущей базой данных). Также изучите такие инструменты, как медленный чтобы увидеть ваши узкие места на стороне клиента.
Я бы порекомендовал вам создать сайт, максимально увеличив количество возможных статических файлов (wget --mirror
если вам нужно), и подумайте о том, чтобы разместить его в пограничной сети, например Amazon CloudFront.
Это были бы самые простые и дешевые вещи, которые дали бы максимальный прирост производительности на человеко-час.
Изменить: я настоятельно рекомендую отказаться от использования любой базы данных, точка. Если это просто CMS, нет причин не создавать статические файлы и не обслуживать их. например Подвижный тип.
Если вы ожидаете всплеск трафика без особых предупреждений, зарегистрируйтесь с помощью CDN. Что-то вроде SimpleCDN (дешево) или MaxCDN (лучше, намного дороже) можно активировать только с помощью кредитной карты. Вам нужно будет внести некоторые изменения в DNS, чтобы справиться с этим, и вам нужно будет выполнить некоторую конфигурацию веб-сервера, чтобы включить кеширование для статических ресурсов (легко в IIS).
Затем вы можете добавить response.Expires, чтобы добавить заголовки Cache-Control для всех ваших динамических страниц ASP, по крайней мере, на короткий срок, чтобы CDN также мог их кэшировать.
Наконец, если у вас есть время, сделайте дамп MSaccess в качестве базы данных для вашего сайта и, по крайней мере, используйте бесплатный SQL Express. Существуют мастера увеличения размера, поэтому это должно быть довольно безболезненно и требовать минимального изменения кода.
Я согласен с другими в том, что это похоже на рецепт катастрофы. С помощью IPO вы хотите, чтобы веб-сайт вашей компании был доступен для запросов СМИ, инвесторов и донесения вашего сообщения.
Также похоже, что у вас быстро заканчивается время. Лучшее решение в конечном итоге - это, очевидно, спроектировать это. Но поскольку у вас мало времени, позвольте мне дать вам быстрый совет.
Первый, серверная часть MS Access станет первой точкой отказа вашего сайта. Вам нужно сделать все статичным, и сейчас. Использовать HTTrack чтобы загрузить текущий отображаемый код вашего сайта. Затем выньте части, которые имеет смысл вынуть (например, что-то, что вы динамически создаете через свою БД, например, котировки акций). Сделайте резервную копию файлов, находящихся в настоящее время на вашем сайте, и замените их "статической" страницей, которую вы загрузили.
Второй, VPS может быть или не хватить для вашего сайта. Это полностью зависит от ожидаемого трафика, и в некоторых случаях может быть лучше остаться на вашем общем хостинге. Зарегистрируйтесь на выделенный сервер от надежного поставщика, который может гарантировать время настройки. Вы заплатите больше, но вы должны спросить себя, стоит ли даже несколько сотен долларов, чтобы ваш веб-сайт был доступен для потенциальных инвесторов. Я верю, что вы найдете ответ: оно того стоит. Я также уверен, что вы сможете найти кого-нибудь, кто перенесет сайт, чтобы вы сделали это до IPO. Вы заплатите больше, но, опять же, это того стоит.