Производительность Docker службы против отдельного контейнера? - PullRequest
0 голосов
/ 10 июня 2019

Я использую сервер с Docker-Swarm.Но потом, в эти дни я задал вопрос о производительности службы докеров.Я даже не думаю, что наличие более двух экземпляров и масштабирование реплик не влияет на производительность докер-сервера.

например, наличие отдельного контейнера в экземпляре vs docker service с 10 репликами.

По моему опыту, Docker-контейнер с отдельным контейнером показал лучшую производительность (которая получает данные из mysql иотправка обратно на фронт ... и т. д.).

Неправильно ли я понимаю о производительности док-контейнера / службы?

Ответы [ 2 ]

0 голосов
/ 11 июня 2019

Вы упускаете суть здесь.

Служба репликации предназначена не для решения проблем производительности , а для решения проблем высокой доступности .
Если одна репликация не удалась, то запрос просто откатится на другие доступные реплики. Это одна из причин использования оркестратора.

Конечно, использование оркестратора замедлит немного трафика, но там, где речь не идет о снижении производительности на 50%, здесь!

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

0 голосов
/ 11 июня 2019

В вашем вопросе три вопроса.

Ответ на первый вопрос - «нет», а на два других - «это зависит» :) Хватит с язвительностью, давайте посмотрим начто вы спрашиваете ...

В1: Какое снижение производительности одного контейнера по сравнению с услугой с 1 репликой?

A1: 0,000n%.Ваша служба с одной репликой просто раскрутится ... одна реплика.Причина в том, что ответ составляет 0,000n%, потому что Swarm требует немного памяти и процессора в движке Docker, что может повлиять на вашу общую производительность

Q2: Какое снижение производительности сети Swarm?

A2: Теперь вы сравниваете сетевую производительность связи, вызванной сетевой системой Swarm Overlay.В большинстве случаев снижение производительности будет близко к 0. Оверлей по умолчанию, используемый Swarm - VXLAN.Это незначительное снижение производительности, так как каждый пакет должен быть инкапсулирован / декапсулирован.Если у вас много реплик и много недолговечных соединений (например, API без сохранения состояния, который получает много запросов), возможно, с входным балансировщиком нагрузки могут быть связаны некоторые издержки.Таким образом, «это зависит»

Q3: одиночная копия приложения, которая потребляет большое количество процессоров и оперативной памяти по сравнению с несколькими репликами приложения, каждая из которых потребляет незначительное количество оперативной памяти и процессора.

A3: Зависит, но это не вопрос Докера.Некоторые приложения (без сохранения состояния, не зависящие от внешних служб «единого доступа», забитые большим количеством запросов, будут хорошо работать при параллельной работе (горизонтальное масштабирование). Некоторые будут вести себя хуже и нуждаются в вертикальном масштабировании (несколько экземпляров, многоmem и cpu). Имейте в виду, что вертикальное масштабирование преодолевает определенную точку ...

Надеюсь, это поможет ...

...