NSX Advanced Load Balancer caches HTTP content, thereby enabling faster page load times for clients and reduced workloads for both servers and NSX Advanced Load Balancer.

When a server sends a response (for example logo.png), NSX Advanced Load Balancer adds the object to its HTTP cache and serves the cached object to subsequent clients that request the same object. Caching thus reduces the number of connections and requests sent to the server.



Enabling caching and compression allows NSX Advanced Load Balancer to compress text-based objects and store both the compressed and original uncompressed versions in the cache. Subsequent requests from clients that support compression will be served from the cache. NSX Advanced Load Balancer does not need to compress every object every time, greatly reducing the compression workload.

Responses Eligible for Caching

When caching is enabled, NSX Advanced Load Balancer caches HTTP objects for the following types of responses:

  • HTTP/HTTPS

  • GET, HEAD methods

  • 200 status code

NSX Advanced Load Balancer also supports caching objects from servers in HTTPS pools.

Responses Not Cached

NSX Advanced Load Balancer never caches HTTP objects for the following types of responses:

  • Put / Post / Delete methods

  • Request Headers:

    • Cache-Control: no-store

    • Authorization

  • Response Headers:

    • Cache-Control: no-cache

    • Expires header’s date is already expired

    • Warning, Set-Cookie, Vary: *

    • Cache-Control: private, no-store

    • Both etag and Last-Modified headers do not exist and either:

    • GET/HEAD method includes a Query

    • No expires/max-age header exists

  • Non-200 status codes

Verify Object Served from Cache

To validate that an object is successfully served from the cache, navigate to the virtual service’s logs page. Apply the following filter: cache_hit= ”true” This will filter all requests that were successfully served from the cache. When using logs, be sure to enable Non-Significant Logs to show non-error traffic, and ensure the logging engine is capturing the Non-Significant logs for the duration of the test. For more infomation, refer to Virtual Service Logs.

Cache Size



The size of a cache is indirectly determined based on the memory allocation for a Service Engine handling a virtual service that has caching enabled. This is determined within the SE Group properties via the connection memory slider. Memory allocated to buffers is used for TCP buffering (and hence accelerating), HTTP request and response buffering, and also for HTTP cache.