Cache size increase
-
Hi,
Not a developper. Trying to manage a non-profit WP site as a volunteer ??
We have been using WP Super Cache since the beginning of the time. Since last WP Super Cache update, the cache size has increased drastically. In one point, it maxed out our available shared server space at the ISP. That was 8GB of cache I had to delete to bring the site back.
Currently I must clear content cache from the UI every other day to avoid site down. Any feedback would be much appreciated.
The page I need help with: [log in to see the link]
-
The best thing to do is set the garbage collection timeout to something smaller. Perhaps to an hour, and set it to check for expired pages every 600 seconds.
That will ensure that cached pages are cleared out quite often.
Thank you for your response. Since my GUI is in JP locale, I was wondering if this is what you meant:
That’s almost right. Make the first one 3600. Change the second option back to the “How often to check for stale cached files” and make it 600.
Or make both smaller, but the second figure should be smaller than the first one by a large margin, so it checks more often for stale files.
Hi @donncha
So, 3600/600 was how it was set before I made the change. I think that was the default since I didn’t change that. It had been working fine until recently.
I just deleted the content cache from the WP Super Cache UI, and that gained 5+GB server space. The last time I deleted was 2 days ago. This seems to be excessive and it wasn’t like this before. Any idea?
Sorry for not getting back to you sooner. That’s really strange. It might be worth looking at what sort of files are in your cache. While there is a “Contents” page in the plugin, it will be faster if use some sort of file manager or sftp client to examine what’s in wp-content/cache/supercache/ and it’s sub directories.
Maybe some plugin on your site has created an infinite loop, which Google or some other bot keeps downloading, and then the plugin caches those pages.
The other thing to do, is make sure that the cleanup job is scheduled correctly. Download the WP Control plugin. Go to Tools->Cron Events in wp-admin. Search for the string “wp_cache_gc” and if it’s working properly it will tell you that it will run in the next hour.
If it’s not running, and there are no errors showing, deactivate WP Super Cache and then reactivate it, and save the garbage collection settings on the settings page, just to make sure it’s set up again. Check the Cron Events page again. Hopefully it’ll be there this time.
Hi @donncha
Thank you for your response. I am not sure how to figure this out. As far as I can see, there isn’t anything suspicious. They are HTML files, and tons of them. What’s puzzling is that these are dated articles, and I don’t think they are frequently accessed files.
I do have WP Control installed but I was not sure if I know how to use it. I just took a look at it, and found ‘wp_cache_gc’ scheduling is set to “Do Not Repeat”. Do I need to change this? Still wondering why this issue surfaced only a couple of months ago. Thank you for your help.
Hi @donncha –
Any other ideas here?
Is the garbage collection still set to 3600/600? Can you manually clear out the cache, and check the cache directory to make sure everything (or at least, most of everything) was deleted.
Then wait 60-70 minutes and look in the cache directory again and check if things were deleted.
If, after only an hour, the contents of the directory is huge again, it might be worth changing the garbage collection to 600/60 or maybe even 300/60 so files are deleted more quickly.
If it looks like no files have been deleted, it might be a problem with PHP deleting so many files and timing out. 7034MB of files is excessive, if your GC is set to 3600/600. Reducing the time limit should help there.
When you look at the files generated in the cache directories, are they index-https.html and maybe index-https.html.gz ? Or do they have a long random string of letters?
You could also enable debugging in the plugin and visit the site in a private browser and look at the logs to see if they show you any problems.
- This reply was modified 2 weeks, 2 days ago by Donncha O Caoimh (a11n).
Hi @donncha
I changed to 600/60 last night. The cache size is 500MB overnight. They are all html, and not gz nor random string in any file names.
Can you respond to my question: ‘wp_cache_gc’ scheduling is set to “Do Not Repeat” — Is this correct?
Can you respond to my question: ‘wp_cache_gc’ scheduling is set to “Do Not Repeat” — Is this correct?
Yeah, that’s fine. The garbage collection system schedules the next job after it’s finished the current one.
Is the cache directory still 500MB, or has it rapidly increased in size?
When you go into the cache directory, are there thousands of files, or about the same number of files to the number of pages on your site? Do the directories they’re in match those pages? Do the cached html files look inflated by anything or do they match the size of pages on your site?
500MB seems a lot, especially if the GC is working and clearing out files that are older than an hour. If you check the “Email me when the garbage collection runs” checkbox, the site should send you an email every ten minutes saying it’s working. That might be worth doing for a small bit to make sure it’s ok.
If there are thousands of files, can you see if any are older than an hour? A few minutes over an hour is ok, but if there are files that are a few hours old then garbage collection isn’t working.
Hi @donncha
I enabled the garbage collectrion notification but I have never received the notification. That explains this. The garbage collection is not running. What should I do?
Hi @madflute –
Can you try manually running the garbage collection? You can use a plugin like https://www.ads-software.com/plugins/wp-crontrol/
Does it work when triggered manually?
Hi @lastsplash
Do I understand correctly you want me to try setting wp_cache_gc to hourly? Or you are talking about something else to force running the garbage collector hourly? If that the case, can you tell me what I look for under the cron Event page?
Since you have WP Control installed, and you can see wp_cache_gc show up there in “Cron Events”, set the GC Timer to 60 seconds and keep reloading the WP Control cron events pages to see if wp_cache_gc triggers. Is it scheduled again afterwards?
I suspect some other plugin updated and is causing problems. You might also check your PHP error logs. If another plugin is causing a fatal error when it runs a Cron job, it might be stopping the garbage collection from running. You could also disable other plugins one-by-one, and then go to WP Control and click on “run now” under the wp_cache_gc job. That might help track down the problem.
You might need to contact your hosting support to get this fixed. Someone with access to your site will probably be able to fix this quickly.
Hi @donncha
Yesterday, I set wp_cache_gc to run every hour. It seems to be working now. The cache size has been constantly 667MB since then. However, I am still not getting the email notification.
I just changed back from 600/60 to 3600/600, the original recomended setting. cron Event/wp_cache_gc is still set to every hour. I will see if this works.
- You must be logged in to reply to this topic.