<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family:Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Dear Alex,</div>
<div style="font-family:Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<span style="color:rgb(50,49,48); font-size:14.6667px; background-color:rgb(255,255,255); display:inline!important">**What kind of hit ratio do you get with rock if you do not limit </span><span style="color:rgb(50,49,48); font-size:14.6667px; background-color:rgb(255,255,255); display:inline!important">swap-rate
 and do not specify swap-timeout? </span><span style="color:rgb(237,92,87); font-size:14.6667px; background-color:rgb(255,255,255); display:inline!important">[i also removed the max size as recomended], the gain ratio is max 13 %.</span></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><font color="#ed5c57"><br>
</font></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><font color="#ed5c57"><span style="color: rgb(0, 0, 0); font-family: "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif; font-size: 14.6667px; background-color: rgb(255, 255, 255); display: inline !important;">​**</span><span style="color: rgb(50, 49, 48); font-family: "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif; font-size: 14.6667px; background-color: rgb(255, 255, 255); display: inline !important">What
 kind of hit ratio do you get with rock if you use one worker, one</span><br style="color: rgb(50, 49, 48); font-family: "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif; font-size: 14.6667px; background-color: rgb(255, 255, 255)">
<span style="color: rgb(50, 49, 48); font-family: "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif; font-size: 14.6667px; background-color: rgb(255, 255, 255); display: inline !important">rock
 cache_dir, do not limit swap-rate, do not specify swap-timeout, and</span><br style="color: rgb(50, 49, 48); font-family: "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif; font-size: 14.6667px; background-color: rgb(255, 255, 255)">
<span style="color: rgb(50, 49, 48); font-family: "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif; font-size: 14.6667px; background-color: rgb(255, 255, 255); display: inline !important">start
 Squid with -N to disable SMP? [ </span><span style="color: rgb(237, 92, 87); font-family: "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif; font-size: 14.6667px; background-color: rgb(255, 255, 255); display: inline !important;">as
 recomended, only one rock cache_dir , no limit swap and excuted with -N option,the gain ration is 7%]</span></font></div>
<div style="font-size: 12pt;"><font color="#ed5c57" style=""><br>
</font></div>
<div style="font-size: 12pt;"><font color="#ed5c57" style="">additonial info:</font></div>
<div style=""><font color="#ed5c57" style="">i have a total of 24 GB RAM which i use 15 GB of them as cache_mem and i use ext4 in fstab.</font></div>
<div style=""><font color="#ed5c57" style=""><br>
</font></div>
<div style=""><font color="#ed5c57">thank u</font></div>
<div style=""><br>
</div>
<div>
<div id="appendonsend"></div>
<div style="font-family:Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Alex Rousskov <rousskov@measurement-factory.com><br>
<b>Sent:</b> Saturday, July 4, 2020 3:40 AM<br>
<b>To:</b> patrick mkhael <patrick.mkhael@hotmail.com>; squid-users@lists.squid-cache.org <squid-users@lists.squid-cache.org><br>
<b>Subject:</b> Re: [squid-users] rock issue</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt">
<div class="PlainText">On 7/3/20 4:50 AM, patrick mkhael wrote:<br>
<br>
> workers 3<br>
> cpu_affinity_map process_numbers=1,2,3,4,5,6 cores=1,2,3,4,5,6<br>
> cache_dir rock /rock1 200000 max-size=32000 swap-timeout=300 max-swap-rate=100<br>
> cache_dir rock /rock2 200000 max-size=32000 max-swap-rate=100 swap-timeout=300<br>
> cache_dir rock /rock3 200000 max-size=32000 max-swap-rate=100 swap-timeout=300<br>
> cache_mem 17 GB<br>
> maximum_object_size_in_memory 25 MB<br>
> maximum_object_size 1 GB<br>
> cache_miss_revalidate off<br>
> quick_abort_pct 95<br>
<br>
<br>
FYI: The combination of 1GB maximum_object_size and much smaller size<br>
limits for objects in memory and disk caches does not make sense: There<br>
is no cache to store a, say, 26MB object. If Squid lacks the<br>
corresponding configuration "lint" check, somebody should add it.<br>
<br>
<br>
> This config is giving 4% of cache gain ratio, <br>
<br>
> in addition as i already mentionned before if i take the same above<br>
> config without worker and cach_dir with the same traffiic using aufs on<br>
> one of the disks ,  i have automatically i har 60 % cache ratio.<br>
<br>
When using AUFS, do you limit disk-cached object sizes to 32KB like you<br>
do with rock? If not, then you should remove the max-size limit from<br>
rock cache_dirs. Modern rock cache_dirs are capable of storing large<br>
objects.<br>
<br>
What kind of hit ratio do you get with rock if you do not limit<br>
swap-rate and do not specify swap-timeout?<br>
<br>
What kind of hit ratio do you get with rock if you use one worker, one<br>
rock cache_dir, do not limit swap-rate, do not specify swap-timeout, and<br>
start Squid with -N to disable SMP?<br>
<br>
As you can see, I am trying to understand whether the size limitation,<br>
the rate limiting, or SMP problems explain the drop in hit ratio.<br>
<br>
<br>
> Shoud rock give me the same performance as aufs ?<br>
<br>
It is a difficult question to answer correctly (for me). The goal is for<br>
rock performance to exceed that of (a)ufs, but I doubt we have reached<br>
that goal in every environment that matters (including yours).<br>
<br>
* In a non-SMP environment, I would expect similar hit ratios in most<br>
cases, but I would not be surprised if there are significant exceptions.<br>
Rock is focused on SMP support, and there are complexities/costs<br>
associated with SMP. Rock is getting better, but there are some known<br>
areas where rock cannot yet do what ufs (including aufs) can.<br>
<br>
* In a SMP environment, the question is mostly meaningless because there<br>
is no SMP support for ufs-based caches. Folks use squid.conf<br>
preprocessor hacks to configure ufs-based caches in SMP mode, but those<br>
setups usually violate HTTP and may cause serious problems. YMMV.<br>
<br>
<br>
> for a traffic of 1 Gb/s , is there a way to use aufs ?<br>
<br>
Before trying unsupported combinations of aufs and SMP, I would try to<br>
understand why your hit ratio is so low with rock. The questions above<br>
may be a good start in that investigation.<br>
<br>
<br>
Cheers,<br>
<br>
Alex.<br>
<br>
<br>
> ------------------------------------------------------------------------<br>
> *From:* Alex Rousskov <rousskov@measurement-factory.com><br>
> *Sent:* Thursday, July 2, 2020 4:24 PM<br>
> *To:* patrick mkhael <patrick.mkhael@hotmail.com>;<br>
> squid-users@lists.squid-cache.org <squid-users@lists.squid-cache.org><br>
> *Subject:* Re: [squid-users] rock issue<br>
>  <br>
> On 7/1/20 4:45 PM, patrick mkhael wrote:<br>
> <br>
>> ***Please note that you have 20 kids worth mapping (10 workers and 10<br>
>> diskers), but you map only the first 10.​{since i did not get the point<br>
>> of the diskers ,as far as i understood  , it should be like  (simple<br>
>> example)<br>
> <br>
>>> workers 2<br>
>>> cpu_affinity_map process_numbers=1,2,3,4 cores=1,2,3,4<br>
>>> cache_dir rock ...<br>
>>> cache_dir rock ...<br>
> <br>
> The above looks OK. Each worker is a kid process. Each rock cache_dir is<br>
> a kid process (we call them diskers).  If you have physical CPU cores to<br>
> spare, give each kid process its own physical core. Otherwise, give each<br>
> worker process its own physical core (if you can). Diskers can share<br>
> physical cores with less harm because they usually do not consume much<br>
> CPU cycles. Squid wiki has more detailed information about that:<br>
> <a href="https://wiki.squid-cache.org/Features/SmpScale#How_to_configure_SMP_Squid_for_top_performance.3F">
https://wiki.squid-cache.org/Features/SmpScale#How_to_configure_SMP_Squid_for_top_performance.3F</a><br>
> <br>
> <br>
>> ***Why do you have 10 rock caches of various sizes? [ to be honest , i<br>
>> saw in many websites that it should be like this from the smallest to<br>
>> the bigest with diff size, i tought it should serve from small size pool<br>
>> to high ]<br>
> <br>
> IMHO, you should stop reading those web pages :-). There is no general<br>
> need to segregate objects by sizes, especially when you are using the<br>
> same slot size for all cache_dirs. Such segregation may be necessary in<br>
> some special cases, but we have not yet established that your case is<br>
> special.<br>
> <br>
> <br>
>> *****How many independent disk spindles (or equivalent) do you have? [ i<br>
>> have one raid 5 ssd disks , used by the 10 rock cache dir]<br>
> <br>
> Do not use RAID. If possible, use one rock cache_dir per SSD disk. The<br>
> only reason this may not be possible, AFAICT, is if you want to cache<br>
> more (per SSD disk) than a single Squid cache_dir can hold, but I would<br>
> not worry about overcoming that limit at the beginning. If you want to<br>
> know more about the limit, look for "33554431" in<br>
> <a href="http://www.squid-cache.org/mail-archive/squid-users/201312/0034.html">
http://www.squid-cache.org/mail-archive/squid-users/201312/0034.html</a><br>
> <br>
> <br>
>> ***How did you select the swap rate limits and timeouts for<br>
>> cache_dirs?[I took it also from online forum , can i leave it empty for<br>
>> both]<br>
> <br>
> If you want a simple answer, then it is "yes". Unfortunately, there is<br>
> no simple correct answer to that question. To understand what is going<br>
> on and how to tune things, I recommend studying the Performance Tuning<br>
> section of <a href="https://wiki.squid-cache.org/Features/RockStore">https://wiki.squid-cache.org/Features/RockStore</a><br>
> <br>
> <br>
>> ****Do you see any ERRORs or WARNINGs in cache log?[NO error or warning<br>
>> found in cache]<br>
> <br>
> Good. I assume you do see some regular messages in cache.log. Keep an<br>
> eye for ERRORs and WARNINGs as you change settings.<br>
> <br>
> <br>
> HTH,<br>
> <br>
> Alex.<br>
<br>
</div>
</span></font></div>
</div>
</body>
</html>