Octavia LB flavor recommendation for Amphora VMs

Michael Johnson johnsomor at gmail.com
Thu Sep 5 21:45:45 UTC 2019


Hi Pawel,

For small deployments, the 1GB RAM, 1vCPU, 2GB disk (3GB with centos,
etc) should work fine for you. You might even be able to drop the RAM
lower if you will not be doing TLS.
For example, my devstack amphora instance is allocated 1GB RAM, but is
only using less than half that. (just because the flavor says 1GB it
doesn't mean it uses all of that all of the time) Kernel page
de-duplication will also help with actual consumption as the amphora
images are mostly the same.

If you are doing really large numbers of connections, and you are
logging the tenant traffic flows locally, you might want to increase
the available disk. Normal workloads will be fine with a smaller disk
as the amphora do include log rotation. If you do not need the flow
logs, there is a configuration setting to disable them.

The main tuning you might want to do is setting the maximum amount of
RAM it can consume.  If you have a very large number of concurrent
connections or are using TLS offloading, you might want to consider
increasing the amount of RAM the amphora can consume. The HAProxy
documentation states that it normally(non-TLS offload) uses around
32kB of RAM per established connection. You might start with that and
see how that aligns to your application/use case.

In testing I have done, adding additional vCPUs has very little impact
on the performance(a small bump with the second CPU as the NIC
interrupts can be split from the HAProxy processes). You can get
pretty high throughput with a single vCPU. We expect once HAProxy 2.0
stabilizes and is available (the distros are not yet shipping it), we
will look at enabling the threading support to vertically scale the
amphora by adding vCPUs. Versions prior to 2.0 did not have good
threading and the multi-process model breaks a bunch of features.
If you really need more CPU now, you can always build a custom image
with 2.0.x in it and use the "custom HAProxy template" configuration
setting to add the threading settings.

Now with Octavia flavors, you can define flavors that select different
nova flavors for the amphora at load balancer creation. For example,
you can have a "bronze", "silver", "gold", each with different RAM
allocations.

We would also love to hear what you find with your deployment and applications.

Michael

On Wed, Sep 4, 2019 at 2:49 AM Pawel Konczalski
<pawel.konczalski at everyware.ch> wrote:
>
> Hello everyone / Octavia Team,
>
> what is your experience / recommendation for a Octavia flavor with is
> used to deploy Amphora VM for small / mid size setups? (RAM / Cores / HDD)
>
> BR
>
> Pawel



More information about the openstack-discuss mailing list