Назад | Перейти на главную страницу

Как работает PostgreSQL при установке на экземпляр VMWare

Есть ли у кого-нибудь опыт работы с PostgreSQL при установке на экземпляр VMWare по сравнению с настоящим железом? Есть заметные отличия? Есть рекомендации?

Это действительно зависит от слишком многих факторов. У виртуальных машин всегда есть некоторые накладные расходы на обработку, но это зависит от таких вещей, как: дисковая подсистема, память, процессор, виртуальная машина, гиперпоточность, или гипервизор на голом железе? NIC? Переключить нагрузку? Загрузка базы данных? RAID?

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

Как ни странно, в целом VMWare не сильно снижает производительность системы. Если у вас есть оборудование, подключенное к HCL, я бы действительно рекомендовал использовать ESXi (бесплатно) для установки и тестирования тестовой установки базы данных и запуска некоторых тестов. Все остальное - чистое предположение.

(Примечание ... Я предлагал ESXi, потому что он имеет меньше накладных расходов и имеет тенденцию работать немного быстрее; никаких "реальных" накладных расходов операционной системы не требуется, поскольку гипервизор представляет собой крошечную установку Linux, которая буквально занимает 10 минут, чтобы начать работу. )

Зависит от ЦП, ОЗУ и скорости / кеширования / использования жесткого диска, как и все остальное. Если вы предоставите виртуальной машине мало ресурсов и высокий спрос, она, конечно, будет плохо работать. Дайте достаточно ресурсов, чтобы он поддерживал себя, однако шип может отбросить его на обочину. Так что давайте достаточно, чтобы удовлетворить ваши стандартные требования, плюс немного дополнительных, чтобы справиться с пиками на протяжении всего срока службы. Конечно, вам придется лучше выделить для остальных виртуальных машин на той же машине.

Как всегда, реальный ответ на этот вопрос связан с рабочей нагрузкой виртуальной машины. Но чтобы дать вам представление, в моей среде у нас есть несколько виртуальных машин Windows 2003 для тестирования / обучения / контроля качества, на которых работает Postgres (не спрашивайте меня, почему они решили запустить его в Windows). На этих виртуальных машинах работает только Postgres, и ничего больше, и они неплохо работают, когда разработчики / QA / стажеры работают весь день (все с 1 виртуальным ЦП и 1024 МБ ОЗУ). Однако наш производственный сервер представляет собой четырехъядерный физический блок с несколькими ГБ ОЗУ. Конечно, используется недостаточно, но приложение (которое все еще находится в разработке) еще не запущено, поэтому мы не знаем, чего ожидать в плане производительности.