Amazon EC2-много микроэкземпляров по сравнению с единственным маленьким/средним экземпляром

Это - вид старого вопроса, но я знаю много о предмете (я - один из разработчиков и на Webmin и на Virtualmin), таким образом, я думал, что вмешаюсь:

Использование Webmin о 10-12MB из памяти в системе на 32 бита и приблизительно на 50% больше, чем это в системе на 64 бита (эта стоимость оплачена за все программное обеспечение, но особенно за программное обеспечение, записанное на динамических языках как Perl, Python, PHP и Ruby). Использование ЦП для одного пользователя незначительно и может быть в значительной степени проигнорировано. Если Вы включаете набор данных ресурсов (который я думаю, в настоящее время только происходит, если сервером Webmin будет управлять Cloudmin), то он будет иметь cronjob, который ест немного памяти и ЦП каждые несколько минут, но должен также быть довольно минимальным.

Virtualmin является другой историей, и ответ на вопрос более сложен. В ее конфигурации по умолчанию, в системе больше чем с 512 МБ RAM, Virtualmin будет использовать приблизительно 100 МБ (больше в системе на 64 бита), поскольку он будет кэшировать много библиотек и структур данных для производительности. Поскольку краткие обзоры Virtualmin, десятки сервисов (Apache, BIND, Постфикс, MySQL, контроль, использование ресурсов, статистика, пользователи, группы, приложения, и т.д.) в единственный "виртуальный сервер" и отклоняются от модели Webmin только когда-либо редактирования одного конфигурационного файла за один раз, генерируя много его страниц, являются намного более интенсивно использующими ресурсы... таким образом кэширование. Это настраивается, и существует подробная документация при настройке Virtualmin для низких систем памяти в документации Virtualmin.com, включая выключение кэширования и то, чтобы заставлять Virtualmin взять тот же ~10MB в качестве Webmin. В последних версиях Webmin различие в производительности является на самом деле довольно небольшим, если система не используется больше чем одним пользователем.

Но, трудно точно измерить использование памяти или использование ресурсов в системе, выполняющей многие сервисы. Общие библиотеки могут подразумевать, что использование памяти определенного приложения могло быть намного ниже, чем это появляется.

Так или иначе мы выполняем Drupal для Virtualmin.com, и очевидно мы также выполняем Webmin, Virtualmin и Cloudmin в той же системе. Я волнуюсь о производительности довольно много в эти дни, когда наша система является объектом довольно значительной загрузки большинство рабочих дней, но Webmin никогда не, где я ищу настраивающиеся возможности. Существует всегда что-то более нажимающее и более требовательное ресурсов, когда я копаю для наблюдения то, что замедляет нас.

Так, я советовал бы Вам не пытаться предположить то, что могло бы препятствовать производительности, и вместо этого смотреть на данные использования, и находить фактических пользователей ресурса и пытаться облегчить те проблемы. (Virtualmin может на самом деле помочь там, хотя я не думаю, что Virtualmin GPL имеет контроль ресурса и построение диаграммы все же).

Надеюсь, это поможет. Если Вы, у Вас действительно есть проблемы с Webmin или Virtualmin, мы всегда рады помочь. Но я сомневаюсь, что Ваши проблемы работы Drupal имеют какое-либо отношение к Webmin или Virtualmin.

5
задан 8 June 2012 в 09:25
3 ответа

Я бы использовал как минимум m1.small или лучше экземпляр m1.large. Микроэкземпляр на самом деле предназначен только для разработки, потому что скоро 613 МБ может не хватить даже при отсутствии пользователей. Кроме того, вы, скорее всего, увидите много времени на кражу ЦП, и ваш Сервер не будет реагировать через некоторое время после небольшого пика ЦП. Это очень раздражает.

Я бы попытался запустить весь стек на каждом экземпляре, кроме mysql-db. Взгляните на RDS! Вам не нужно самостоятельно настраивать высокодоступную инфраструктуру mysql master-slave!

4
ответ дан 3 December 2019 в 01:32

Не используйте микроэкземпляры для производства из-за их непредсказуемого дросселирования процессора. Более рентабельно запускать все в одном экземпляре, но если вы планируете рост и масштабирование, лучше спроектировать и разработать свое приложение в нескольких экземплярах.

2
ответ дан 3 December 2019 в 01:32

В долгосрочной перспективе будет предпочтительнее отделить сервер приложений от базы данных, чтобы обеспечить максимальную гибкость и масштабируемость каждого уровня. RDS - хороший вариант на данный момент, но имейте в виду, что он ограничен одним экземпляром, если у вас неожиданный всплеск трафика, превышающий пропускную способность самого большого экземпляра, вы можете столкнуться с простоем, и тогда вам нужно будет настроить кластеризация с дополнительными экземплярами, что сложно. Другой вариант на EC2 - это облачная служба базы данных Xeround , она отличается от RDS тем, что может автоматически масштабироваться до дополнительных экземпляров для обеспечения дополнительной пропускной способности и автоматически выполняет кластеризацию. Что касается сервера приложений,

0
ответ дан 3 December 2019 в 01:32

Теги

Похожие вопросы