URL Hash Persistence synced to standby HA node?

Hi,

We recently implemented URL Hash Persistence on a rather large Varnish cache server farm on an AX3000 cluster running 2.4.3-p7. Everything looks fine, and the cache hit-ratio on the cache-servers increased significantly. But I wonder if the url hash persistence is synchronized to the standby node in the cluster? I cannot find any info about it anywhere in the cli, and the statistics in "Service->Application->Persistent->" shows all zeros in the gui on the standby node.

Anyone got some info on how this works? My worst fear would be a failover where all cache persistence is lost. This would probably kill the website for hours..

Comments

  • piuspius Member ✭✭
    edited February 2014
    Hi.
    I think the hash value is same on both node, so it does not need to sync to standby node, do it?
    -pius
  • edited February 2014
    Ah, I might have been somewhat unclear about my concerns. The hash value itself would of course be the same, but will it be load balanced to the same real servers? How does the AX load balance the hash values?

    And, if another real server is inserted, or if an existing real server fails, will this have an impact on the calculation on which real server to use for all incoming request?

    Our setup is based on the theory that a real server will get the same hashed requests as long as it is available, no matter what happens to other real servers. If I am wrong about this, I am sitting on a ticking bomb..
  • dshindshin Member
    edited February 2014
    The AX Series utilized the same hash formula so it is not required to do an active to standby synchronization. If a new server is inserted, a hash calculation happens instantaneously and there will be no impact to the incoming request. In an event that a server fails (Example: S1), the incoming request will be load balanced across available in service servers (Example: S2, S3….. ).
  • edited February 2014
    Thanks for the reply, ggarcia. I am fully aware of how load balancing works in situations where servers fail. My concerns have been on our cache farm: With the hash based setup, we now have six servers with their own individual set of data. An object is cached only on one cache server, because the hash calculates the objects to hit the same cache server on each request. This is by design, because the data set on this web farm is huge, and we had severe problems when all the cache servers shared the same data set.

    In a situation where a cache server fails, will the other cache servers still get the same hashed-content, and only a portion of the failed cache server's data, or will the entire data-set now be spread differently between the available cache servers, resulting in horrible cache-hit ratio for all cache servers until they have rebuilt their data set based on the new algorithm?

    (Again, I am sorry for being somewhat vague about my concerns. English is not my first language).
  • dshindshin Member
    edited February 2014
    SvenA,

    A portion of the failed cache server’s data will be distributed to other cache servers. When the original cache server comes back, those request will be forwarded back to the original cache server again to preserve the cache hit. I hope this answers your questions.

    Genard
  • edited February 2014
    genard,

    Thanks for the reply. And yes, you are absolutely correct. Even better: the remaining real servers also still get the same hashed content as they did before one of them failed. Which means an object will hit the same cache server as long as the server is available no matter what happens to the other servers. We did some tests last night...

    Thank you all for your help!
    Sven
Sign In or Register to comment.