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