Often we call services internally, whether it is a mail gateway or a web service. In production, if high availability is a requirement, we want to create a virtual ip for the service and add two or more physical servers as listeners.
I usually use layer 7 service pools when network load is low, and the overhead of going through the stack to get to the layer 7 headers is acceptable. For SSL offloading it is essential. Note that I don’t use the load balancer to do the redirect; I like to use nginx for that. Often, conditions will arise (force secure for this url) that are easier to manage with nginx, and I like the flexibility of being able to use the nginx feature set for customer requests.
However, on a Barracuda, the only way to create an internal load balancer pool is to use “TCP Proxy” service type, not “Layer 4 – TCP”. Does not seem to be documented anywhere, but this is the only way it works.
Assuming you are running at least version 3.6 firmware, you can create the Service Name, and give it an IP and Real Servers, and expose the Virtual IP to the LAN.
This is completely undocumented so I thought I’d share.
Set app pool A in advanced settings, to have affinity True, and mask 255. It will use the first 8 processors. Confirm in task manager.
Set app pool B affinity True, and mask 65280. It will use processors 9-16. Works.
Run this command to output all the C that varnishd compiles at runtime:
/usr/local/sbin/varnishd -C -f ./default.vcl > file
If you want to start varnishd with
-s file,/usr/cache/topscache,30720000000
use
dd if=/dev/zero count=60000000 of=/usr/cache/topscache
This works well for a server with 32GB ram.
This is different, and useful website speed test, especially because of the external element count and total page load time. Enjoy.