Alex,

On 20/05/2024 22:09, Alex Rousskov wrote:
> On 2024-05-20 03:35, Zhijian Li (Fujitsu) wrote:
> 
>> In SMP mode, is it possible that cache_mem can be share among
>> multiple squid instances with the same service_name?
> 
> Short answer: "Do not run multiple SMP Squid instances with the same 
> service_name".
> 
> SMP Squid cache[1] is not supposed to be shared across Squid instances. Any 
> configurations or actions that result in such sharing are unsupported and may 
> lead to undefined behavior. Squid may not emit warnings or other diagnostics 
> in such unsupported cases -- no Squid code has been written specifically to 
> detect and warn about unsupported memory sharing.
> 
> For example, running multiple identically-built Squid instances on the same 
> "box"[2] with the _same_ service name is unsupported and may lead to 
> undefined behavior, especially if SMP Squid cache[1] is enabled.
> 
> Running multiple identically-built Squid instances on the same "box"[2] with 
> _different_ service names is supported on some OSes because it does not lead 
> to unsupported sharing. In other environments, it may lead to undefined 
> behavior. This limitation is a Squid bug or a missing feature. Developers 
> wishing to remove this limitation should look at 
> shm_portable_segment_name_is_path() description and use case.
> 

Understood, many thanks for your detailed explanation.


Thanks
Zhijian

> [1]: Here, "SMP Squid cache" applies to both cache_dir storage (on disk and 
> in shared memory) and cache_mem storage (in shared memory). Very similar 
> reasoning applies to non-caching SMP Squid instances as well, but the 
> question was about caching, so I will not detail these other cases.
> 
> [2]: Here, the term "box" is used to mean "isolation environment": "Same box" 
> means the same OS instance, the same container instance (if containerized), 
> and the same filesystem (i.e. no chroot, jails, or similar isolation tricks 
> for each Squid instance). Various OSes isolate shared memory segments 
> differently, but many use file systems for some shared memory artifacts. If 
> artifacts from different Squid instances clash, Squid behavior is undefined.
> 
> 
> HTH,
> 
> Alex.
> 
>>
>> Per SmpScale[1], "memory object cache (in most environments)" can be share 
>> among workers
>> Per smp-enabled-squid[2], "Each set of SMP-aware processes will interact 
>> only with other processes using the same service name"
>>
>> So if i have multiple (SMP mode + same service_name) squid instances, would 
>> they share the cache_mem objects.
>>
>> [1] https://wiki.squid-cache.org/Features/SmpScale#what-can-workers-share
>> [2] 
>> https://wiki.squid-cache.org/KnowledgeBase/MultipleInstances#smp-enabled-squid
>>
>>
>> Thanks
>> Zhijian
>> _______________________________________________
>> squid-users mailing list
>> squid-users@lists.squid-cache.org
>> https://lists.squid-cache.org/listinfo/squid-users
> 
> _______________________________________________
> squid-users mailing list
> squid-users@lists.squid-cache.org
> https://lists.squid-cache.org/listinfo/squid-users
_______________________________________________
squid-users mailing list
squid-users@lists.squid-cache.org
https://lists.squid-cache.org/listinfo/squid-users

Reply via email to