配额
配额允许您在一段时间内限制资源使用或跟踪资源的使用情况。配额在用户配置中设置,通常为 'users.xml'。
系统还具有限制单个查询复杂度的功能。请参见查询复杂度的限制部分。
与查询复杂度限制相比,配额:
- 对一段时间内可以运行的一组查询施加限制,而不是限制单个查询。
- 考虑在所有远程服务器上用于分布式查询处理的资源。
让我们看看定义配额的 'users.xml' 文件的部分。
默认情况下,配额每小时跟踪资源消耗,而不限制使用。每个时间间隔计算的资源消耗在每个请求后输出到服务器日志。
对于 'statbox' 配额,每小时和每24小时(86,400秒)设置了限制。时间间隔从一个实现定义的固定时刻开始计算。换句话说,24小时的间隔不一定从午夜开始。
当时间间隔结束时,所有收集的值将被清除。在下一个小时,配额计算将重新开始。
以下是可以限制的数量:
queries
– 请求的总数。
query_selects
– select请求的总数。
query_inserts
– insert请求的总数。
errors
– 抛出异常的查询数量。
result_rows
– 作为结果返回的总行数。
read_rows
– 从表中读取的用于在所有远程服务器上运行查询的源行的总数。
execution_time
– 查询的总执行时间,以秒为单位(墙时)。
如果至少有一个时间间隔的限制被超过,则会抛出异常,说明哪个限制被超过、哪个时间间隔以及何时开始新的时间间隔(何时可以再次发送查询)。
配额可以使用“配额键”功能独立报告多个键的资源。以下是示例:
配额分配给配置的 'users' 部分的用户。请参见“访问权限”部分。
对于分布式查询处理,累积的金额存储在请求者服务器上。因此,如果用户转到另一台服务器,那里配额将“重新开始”。
当服务器重新启动时,配额将被重置。