Sqlite cache file size vs. server response time

Hi Guys,



I turned on the SQLite cache method in config.local.php

Everything works fine until the cache database file var/cache/registry/cache.db gets as big as 300-400 MB



Then when checking site performance with gtmetrix I get the server response time of 5 to 9s! from which most of the time is “waiting”. It seems that server reads the cache file every time the page is loaded or refreshed. In this case theoretically worse “file” cashing method works better for me than recommended by most of you SQLite method.



Do you have any ideas what might be wrong? Is it insufficient server RAM?

Does SQLite cache file get so heavy in your stores, too?



Is there any way to limit the size of the cache file?

I set @ini_set('memory_limit', '128M'); but it doesn't help.



Thanx,



Chris

That's pretty big. How many languages do you have active? How many filters/features? These all contribute, but 3-400MB is pretty big for the cache. You might try clearing it periodically to get a fresh start.



Also, what version?

We have 3 languages in 2 storefronts.

44 features, 14 filters, but we actually intend to have much more.

Version as in the signature 3.0.6 ULT.



I turned back to “file” caching method couple of days ago and it seems to work much better than SQLite.

Pages are loading much faster and the server response time is at most 1s and not 6-12s.

“file” type caching has been greatly improved with distribution among various sub-directories for different objects. Be curious what the total size of your cache directory is for the registry is after a bit of runtime like in:

du -bs var/cache/registry

After couple of days 104 824 directories in var/cache/registry !!!

Filters: 104 782

Others: 42



Each directory has at least two subdirectories store 1 and store 2.

So I'm guessing performance has been maintained. Number of directories is not important, but total size of the var/cache/registry would be the comparison with SQLITE.

The number of directories or files in a single directory is important. Thats why the images are stored in different folders 1, 2, 3, 4, etc with a maximum of 1000 or whatever you set it to. With so many files/folders in one directory the index becomes very large.

My point was that dispersing the info across multiple directories when using the file cache improves performance from the way it used to be where the whole registry cache was one giant file. What “index” are you talking about?

The “file cache” method is the fastest since the version 3.x.