Domino on Linux/Unix, Troubleshooting, Best Practices, Tips and more ...

How Quotas Work in Notes/Domino 8.x

Daniel Nashed  7 October 2010 11:20:11


I never hat do look into this before but got the question from a customer this week.
In Notes 8 we have the nice quota indicator in the Standard Client that shows the current status of the quota.
By default the quota is measured against the physical size of the database.

There are settings which are hidden in the Translog Tab of the Server document to configure how the quota is calculated.

The setting "Quota enforcement" is set to "Check file size when extending the file".

If you change this setting to "Check space used in file when adding a note" the quota indicator and calculation is based on the acutal used space in the database (without the whitespaces).

In many cases admins tried to work-around the actual used data in the NSF by compacts during the day.

If you change this parameter you can wait for the nightly operations to recover the free space via compact -B (-S 10).


I have done some tests to better understand how this works in the background.
When you change the settings in the Translog tab it will set a notes.ini parameter NSF_QUOTA_METHOD.
You should not set this parameter manually because it will be overwritten by the server.

Note: Deleted documents still count for the quota until they are removed from Trash!

Quota enforcement:

Check file size when adding a note
notes.ini NSF_QUOTA_METHOD=3

Check file size when extending the file
notes.ini NSF_QUOTA_METHOD=2

Check space used in file when adding a note
notes.ini NSF_QUOTA_METHOD=1

For my tests I took a mailfile with the physical size around 203 MB.
Around half the space was used.


When looking into the database from API level querying the quota information I get the following results based on the quota setting in the Translog tab

Used       : 112640 (450641)
Free       : 94720 (379823)
Granularity: 256
Total      : 207360 (830464)
Q.WarningThreshold: 184320
Q.SizeLimit       : 225280
Q.CurrentDbSize   : 207616
Q.MaxDbSize       : -1
Q.QuotaMethod     : 1
Q.CurrentUsage    : 112660
Q.CurrentSizeUsed : 112660

Used       : 112640 (450641)
Free       : 94720 (379823)
Granularity: 256
Total      : 207360 (830464)
Q.WarningThreshold: 184320
Q.SizeLimit       : 225280
Q.CurrentDbSize   : 207616
Q.MaxDbSize       : -1
Q.QuotaMethod     : 2
Q.CurrentUsage    : 112660
Q.CurrentSizeUsed : 207616

Used       : 112640 (450641)
Free       : 94720 (379823)
Granularity: 256
Total      : 207360 (830464)
Q.WarningThreshold: 184320
Q.SizeLimit       : 225280
Q.CurrentDbSize   : 207616
Q.MaxDbSize       : -1
Q.QuotaMethod     : 3
Q.CurrentUsage    : 112660
Q.CurrentSizeUsed : 207616

You see from the results that the only part that changes is the CurrentSizeUsed when the Translog setting is set to "Check space used in file when adding a note" (notes.ini NSF_QUOTA_METHOD=1).
So the server handles the calculation of the quota and the client is leveraging the quota-structure. The quota structure also returns the QuotaMethod.

When you enable DAOS it still works very similar. DAOS manages the logical size values for you in the background -- even the size of the physical database is a lot lower.
But even with DAOS there is a difference in the way the quota is calculated based on the settings.

But in case of DAOS the differences are not that big, because most of the data of a document is stored in the attchment and if you remove a document with a larger attachment DAOS removes the deleted object from the calculation of the quota size in any case.
There is still a difference for the summary data of a document.

So even with DAOS enabled this setting makes sense to use.

-- Same database with DAOS --

Used       : 13568 (54676)
Free       : 512 (2668)
Granularity: 256
Total      : 14080 (57344)
Q.WarningThreshold: 184320
Q.SizeLimit       : 225280
Q.CurrentDbSize   : 112833
Q.MaxDbSize       : -1
Q.QuotaMethod     : 1
Q.CurrentUsage    : 112166
Q.CurrentSizeUsed : 112166


Used       : 13568 (54676)
Free       : 512 (2668)
Granularity: 256
Total      : 14080 (57344)
Q.WarningThreshold: 184320
Q.SizeLimit       : 225280
Q.CurrentDbSize   : 112833
Q.MaxDbSize       : -1
Q.QuotaMethod     : 2
Q.CurrentUsage    : 112166
Q.CurrentSizeUsed : 112833

I hope this gives you some background about how it works and no I have no idea why this setting is hidden in the Translog Tab of the server document.

-- Daniel

Comments

1Daniel Nashed  07.10.2010 15:11:39  How Quotas Work in Notes/Domino 8.x

@MeisterLampe, first of all quotas do not replicate. so even on a cluster server you have to apply the same settings.

for local databases not all of the quota features work.

I have done some tests. there is an indicator for the size if you manage to set the quota thru c-api locally. but it does not work and looks different. I always get the same size shown.

even the backend api works exact the same way. for a local database the indicator does not work for me. not sure if this is intended or an issue.

but when you want to add mails above the configured quota you still get an error message.

the quota feature is designed for the server and there is no easy way to hack it to work in the same way for a local database.

some features work the same but the quota indicator seems not to work.

-- Daniel

2MeisterLampe  07.10.2010 15:14:35  How Quotas Work in Notes/Domino 8.x

Can i set a quota for the local Mail DB ?

3AVnotes  24.03.2014 9:17:42  How Quotas Work in Notes/Domino 8.x

Is there a script to push quotas from one server to another?

4Praveen Patten  16.06.2017 13:13:32  How Quotas Work in Notes/Domino 8.x

Hi Nash : Thanks for valuable information !

and need few clarification about this settings .

1. Does this setting works even TXN not enabled ? (One IBM tech note says No and other Yes ) no clarity in this even in help file.

Ref: https://www.ibm.com/support/knowledgecenter/en/SSKTMJ_9.0.1/admin/conf_detectingwhenamailfileexceedsitsquota_t.html

{ Link }

2. Does a application restart required to make this settings effective ?

Archives


  • [IBM Lotus Domino]
  • [Domino on Linux]
  • [Nash!Com]
  • [Daniel Nashed]