Hi Dormando,

Thanks a lot for the quick and promt reply.

*Putting my understanding to re-confirm:*
1) Page size will always be 1MB and we cannot change it.Moreover, it's not 
required to be changed.
2) We can store items larger than 1MB and it is done by combining chunks 
together. (example: let's say item size: ~1.6MB --> 4 slab chunks(512k 
slab) from 2 pages will be used)

*>Is there a problem you're trying to track down?*
We use memcache in production and in past we saw evictions even when free 
memory was present. Also currently we use cluster with 39GB RAM in total to 
cache data even when data size we expect is ~15GB to avoid eviction of 
active items.
But as our data varies in size, it is possible to avoid evictions by tuning 
parameters: chunk_size, growth_factor, slab_automove. Also I believe 
memcache is efficient and we can reduce cost by reducing memory size for 
cluster. 
So I am trying to find the best possible memory size and parameters we can 
have.So want to be clear with my understanding and calculations.

So while trying different parameters and putting all calculations, I 
observed that *total_pages * item_size_max > physical memory for a machine. 
*And from all blogs,and docs it didnot match my understanding. But it's 
clear now. *Thanks to you.*

*One last question:* From my trials I find that we can achieve ~90% storage 
efficiency with memcache. (i.e we need 10MB of physical memory to store 9MB 
of data. Do you recommend any idle memory-size interms of percentage of 
expected data-size? 

Very grateful for the reply. Thanks a lot.
Shweta

On Saturday, July 4, 2020 at 12:23:09 AM UTC+5:30, Dormando wrote:
>
> Hey, 
>
> Looks like I never updated the manpage. In the past the item size max was 
> achieved by changing the slab page size, but that hasn't been true for a 
> long time. 
>
> From ./memcached -h: 
> -m, --memory-limit=<num>  item memory in megabytes (default: 64) 
>
> ... -m just means the memory limit in megabytes, abstract from the page 
> size. I think that was always true. 
>
> In any recentish version, any item larger than half a page size (512k) is 
> created by stitching page chunks together. This prevents waste when an 
> item would be more than half a page size. 
>
> Is there a problem you're trying to track down? 
>
> I'll update the manpage. 
>
> On Fri, 3 Jul 2020, Shweta Agrawal wrote: 
>
> > Hi, 
> > Sorry if I am repeating the question, I searched the list but could not 
> find definite answer. So posting it. 
> > 
> > Memcache version: 1.5.10  
> > I have started memcahce with option: -I 4m (setting maximum item size to 
> 4MB).Verified it is set by command stats settings , I can see STAT 
> item_size_max 
> > 4194304. 
> > 
> > Documentation from git repository here stats that: 
> > 
> > -I, --max-item-size=<size> 
> > Override the default size of each slab page. The default size is 1mb. 
> Default 
> > value for this parameter is 1m, minimum is 1k, max is 1G (1024 * 1024 * 
> 1024). 
> > Adjusting this value changes the item size limit. 
> > My understanding from documentation is this option will allow to save 
> items with size till 4MB and the page size for each slab will be 4MB (as I 
> set it as 
> > -I 4m). 
> > 
> > I am able to save items till 4MB but the page-size is still 1MB. 
> > 
> > -m memory size is default 64MB. 
> > 
> > Calculation: 
> > -> Calculated total pages used from stats slabs output 
> parameter total_pages = 64 (If page size is 4MB then total pages should not 
> be more than 16. Also 
> > when I store 8 items of ~3MB it uses 25 pages but if page size is 4MB, 
> it should use 8 pages right.) 
> > 
> > Can you please help me in understanding the behaviour? 
> > 
> > Attached files with details for output of command stats settings and 
> stats slabs. 
> > Below is the summarized view of the distribution.  
> > First added items with variable sizes, then then added items with 3MB 
> and above. 
> > 
> > data_distribution.png 
> > 
> > 
> > 
> > Please let me know in case more details are required or question is not 
> clear. 
> >   
> > Thank You, 
> >  Shweta 
> > 
> > -- 
> > 
> > --- 
> > You received this message because you are subscribed to the Google 
> Groups "memcached" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an email to memc...@googlegroups.com <javascript:>. 
> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/memcached/2b640e1f-9f59-4432-a930-d830cbe8566do%40googlegroups.com.
>  
>
> > 
> >

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"memcached" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to memcached+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/memcached/586aad58-c6fb-4ed8-89ce-6b005d59ba12o%40googlegroups.com.

Reply via email to