Details
-
Improvement
-
Resolution: Unresolved
-
Minor
-
None
-
Lustre 2.12.6
-
CentOS 7
-
9223372036854775807
Description
In my understanding of the TBF UID rules, it is not possible to set a limit per "any UID". In our testing, the default rule ( default {*} 10000 ) seems to include ALL UIDs, that is, 10,000 requests for all users. Please correct me if I'm wrong.
Say, we want to limit ost.OSS.ost_io.nrs_tbf_rule to 100 reqs/user. Do we have to add a rule for each UID? In our case, we have ~5,400 users.
Attachments
Issue Links
- is duplicated by
-
LU-14567 Wildcard support for NRS TBF UID rules
-
- Resolved
-
- is related to
-
LU-18179 Implementation of Round-Robin/Fair Share response with Token Bucket Filters
-
- Open
-
-
LU-18180 UID in req_buffer_history
-
- Open
-
-
LU-17920 Add permanent TBF rules
-
- Resolved
-
-
LU-13037 print stats for NRS TBF rules
-
- Open
-
-
LU-17296 NRS TBF default rules
-
- Open
-
-
LU-17902 add NRS TBF policy for nodemap
-
- Open
-
-
LU-18183 shared rate limit for a TBF rule
-
- Open
-
I don't think there is any existing way. And I doubt there is any way to implement that efficiently. The status of the TBF are changing all the time. The rate limitation could be 1000 RPC/s or so. That means, a UID could be limited by TBF now, and after 1ms, the limitation might be gone. Under such quick change, there seems no efficient way to dump the real-time status.
But it doesn't mean we are not able to collect some statistics or summaries. For example, I think we could implement a mechanism to record the UIDs reached the limitation in the past period (e.g. an hour?). It will take a significant effort to implemnt though. And before that, need to analyze whether that is useful for your use cases, and whether that is useful for a broader use cases.