OnDemand User Group

Support Forums => MP Server => Topic started by: vjjdavid on November 04, 2015, 12:53:40 PM

Title: Using Permanent Cache With Small First Volume
Post by: vjjdavid on November 04, 2015, 12:53:40 PM
Our CMOD model doesn't include TSM.  All our cache documents are set to never expire or some date far in the future.  We suspect that the first volume define in the ars.cache contains some systems related files but we have a total of four volumes.  For that matter we wish to keep the first volume small compare to the others.

Based on experience, how big can this first volume grow if hard data is not staged there?
Title: Re: Using Permanent Cache With Small First Volume
Post by: Alessandro Perucchi on November 05, 2015, 01:34:36 AM
Normally CMOD will use a round robin algorithm in order to fill up each the cache directories that you have defined.
Officially every filesystem must be the exact same size.
So if you have a directory which is 100GB, then normally all directory must be 100GB.

In practice, what I notice is that CMOD look only for the percentage of disk usage on each cache directory, and not the size itself.
Therefore you could imagine having a small first cache directory and really big additional directory.
In that case, it will as you want. But you cannot stop CMOD to store actual data in the first cache directory. If he thinks, that he can fit a data file inside, then he will add it.
There is nothing you can do about it.

Now the first cache directory needs a LOT of inodes... because he have the links of every files that are copied into every cache directories... Therefore you must check that point very carefully especially if you are trying to keep this first filesystem small.

That said, the only information that is in the first cache directory, since you are not using TSM, is the "retr" directory, and if you look at it, you will understand quite quickly the structure of it.
And you will see that you can reconstruct it very easily... (at least in Unix/Linux, a small shell script can do it in a few seconds/minutes depending on how many objects are in the cache, I can show you an example if you want)

So my advice would be to keep all the cache filesystem at the same size, and don't bother to try having a smaller cache filesystem for some reasons, because it is not worth spending the time on that aspect of CMOD.
That's my own opinion :-) Maybe others have something else to say!
Title: Re: Using Permanent Cache With Small First Volume
Post by: Maciej Mieczakowski on November 05, 2015, 02:03:02 AM
Thanks Alessandro for that Great explanation!, I totally agree with your point of view and would also suggest to have all cache filesystems the same size as recommended.

If there are multiple file systems in the ARS.CACHE file, Content Manager OnDemand uses the file system with the greatest amount of space free to store the objects. Here is an explanation showing that CMOD "balances cache by archiving document data to the cache file system with the most free bytes".

http://www-01.ibm.com/support/docview.wss?uid=swg21409251 (http://www-01.ibm.com/support/docview.wss?uid=swg21409251)
Title: Re: Using Permanent Cache With Small First Volume
Post by: Alessandro Perucchi on November 05, 2015, 03:19:15 AM
Here is an explanation showing that CMOD "balances cache by archiving document data to the cache file system with the most free bytes".

In my experience CMOD doesn't look at the number of bytes, but the most free from a percentage point of view.


Of course, this is my practical experience. And I have not played with that aspect with CMOD V9.X, so therefore this aspect needs to be verified with these versions.
With V7.X and V8.X, that was clearly the percentage and no the bytes that were important...




Concerning the Database Directories (ars.dbfs), where you can, like the cache, have several directories. CMOD will also use the round robin algorithm there, BUT if the filesystems does not have EXACTLY the same size, then the round robin, won't work at all, and it will write always on the first filesystem, and there he will look at the "most free bytes".

Hope that helps.
Title: Re: Using Permanent Cache With Small First Volume
Post by: Justin Derrick on November 12, 2015, 06:41:14 AM
I sent the developer of the CMOD server-side code a link to this thread, and here was his response:

Quote
The CMOD Server uses percentages to determine where to store the files. In cache the data is spread across all the volumes defined in ars.,cache.
For the SMS file systems, earlier versions really didn't spread the tablespace around correctly. And it did not work as documented. Now, the CMOD Server still uses percentages for the SMS tablespaces, but takes a stab at calculating the eventual max table size to make sure there is enough space.

The recommendation is all cache file systems should be equal in size to distribute the data evenly. What the first poster wants to do is based on an invalid assumption. The first file system will store actual data, as well as, all the links to the other objects. So, I would not recommend shrinking the first file system or any file system as the number of objects stored will continue to grow.
The recommendation for SMS file system is also that they be equal is size.

Hope that helps!
Title: Re: Using Permanent Cache With Small First Volume
Post by: Alessandro Perucchi on November 12, 2015, 08:00:32 AM
Great!! That confirms what I've discovered from experience  ;D

Thank you Justin for the post  :)