Caching.. where, what, how?

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
10 years ago
1. The rebuild cache scheduled task is disabled?
2. I have not tried NOP on a non SSD. Given experience with SQL on other projects we always use SSD as disk IO is generally the slow point in SQL.
3. Yes I can ping these pages

This still doesnt really get the source of my question "Where in code can I set how long NOP caches items for"?

Thanks
10 years ago
I would also advise you to go through this: http://msdn.microsoft.com/en-us/library/ms178597%28v=vs.100%29.aspx especially Automatic Data Removal section. At the moment, I don't know where in code  you set it. May be nopteam can help in this case.
10 years ago
jariwalakrunal wrote:
I would also advise you to go through this: http://msdn.microsoft.com/en-us/library/ms178597%28v=vs.100%29.aspx especially Automatic Data Removal section. At the moment, I don't know where in code  you set it. May be nopteam can help in this case.

Thanks, quite simply thats all I want... someone who knows the system to point me in the right direction but noone seems to look at these forums.
Im also very surprised there isnt developer documentation for this system for me to be able to find out things like this.

Thanks very much for your input.
10 years ago
Hey johndillon could you let me know which setup works best for you?  I am running in to the same major issues as you.  I have a high end quad core xeon processor, 32 gb ram, raid 1+0 SSD disks.  This dedicated server only runs my nop site and has 6 of the top fiber optics internet providers going to it and it is a joke how slow it runs.  I have roughly 45,000 products on the site and desperately need to fix this.
10 years ago
I'm at 28 second load times for the domain.  Its pointless for me to even pay advertising since no one waits that long for a page to load and if they do they don't continue waiting for the next link they click to load for just as long.
10 years ago
grippy wrote:
I'm at 28 second load times for the domain.  Its pointless for me to even pay advertising since no one waits that long for a page to load and if they do they don't continue waiting for the next link they click to load for just as long.

Sorry to hear you are having such problems. I have to admit I havent done a great deal more on this. My site is pretty small with on 700 products so I dont think suffers anywhere near like your site does.

My strategy therefore has been to give the site as much RAM as possible in a worker process that never recycles, and to be fair on the production server it seems OK.
The main slowdown for me appears to be on listing pages which we have identified http://www.nop-templates.com/ajax-filters-plugin-for-nopcommerce as the cause (we use these). These understandably put a load on the page.

Have you configured now much RAM IIS worker process can consume? If so with 45,000 products it must be putting a strain on what getrs cached and what doesnt.

Personally if I was you I would consider getting in professional help of the nopcomerce team, or someone like "jariwalakrunal" who seems to know a fair bit about this.

My sympathies are with you, its so frustrating.
10 years ago
and i going to the shop where it will be 400,000 products................ It will be fun
10 years ago
johndillon wrote:


This still doesnt really get the source of my question "Where in code can I set how long NOP caches items for"?





By default the items are cached for 60 mins. see the code below.
So you can set application pool to never recycle or increase the time and increase the cacheTime too or get it as variabe from settings.

    public static class CacheExtensions
    {
        public static T Get<T>(this ICacheManager cacheManager, string key, Func<T> acquire)
        {
            return Get(cacheManager, key, 60, acquire);
        }

        public static T Get<T>(this ICacheManager cacheManager, string key, int cacheTime, Func<T> acquire)
        {
            ////igog it is needed
            //return acquire();
            if (cacheManager.IsSet(key))
            {
                return cacheManager.Get<T>(key);
            }
            else
            {
                var result = acquire();
                //if (result != null)
                cacheManager.Set(key, result, cacheTime);
                return result;
            }
        }
    }
10 years ago
To reduce footprint...not caching but actual footprint (can free up memory for caching depending upon the machine)...look at
System > System information...last listing is "Loaded assemblies".  Click "Show" and see what is actually loaded when the website is up and running.  This helped performance for me.  I had a bunch of crap turned on that I didn't need.
10 years ago
beauzero wrote:
To reduce footprint...not caching but actual footprint (can free up memory for caching depending upon the machine)...look at
System > System information...last listing is "Loaded assemblies".  Click "Show" and see what is actually loaded when the website is up and running.  This helped performance for me.  I had a bunch of crap turned on that I didn't need.


Agreed. All of us seems to ignore this!

Do you removed the assemblies / plugins you don't need? How much performance gain it helped and what was your RAM utilization before and after this change?
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.