我们目前正在经历一个不断增长的临时文件问题.观看我们的一个网站,我们可以看到我们正在观看的一个网站每天增长100-200 MB.在此站点,当临时文件达到20Gb并发生可用空间问题时发生故障.
我们目前正在抑制超时. -ti和-tl设置为零.由于这种配置,临时表的构建机会有多大?
另外.为了进一步了解-tl标志,以下是一个真实的声明:除非无法通过tcpip访问客户端,否则不会重置连接.
解决方法
-ti 0或-tl 0不太可能与sql Anywhere中的临时空间问题有关.这很可能是失控查询的结果.如果您使用的是版本9,则可以按如下方式打开限制检查:
SET OPTION PUBLIC.temp_space_limit_check =’ON’;
在版本10和11中,选项应该已经打开,但可能已关闭.新的max_temp_space选项也很有用.
在早期版本中,您只需找到失控的查询; Foxhound可能有所帮助:http://www.risingroad.com/foxhound/index.html
另见“危险!查询正在加盖!”在
http://sqlanywhere.blogspot.com/2009/03/danger-queries-are-stampeding.html
FYI -ti 0无限制不活动超时设置在您预计长时间不活动时非常常见;例如,在基于网络的大型连接池上过夜.
但是,-tl 0无限活动超时设置实际上是危险的,如果它导致大量僵尸连接堆积(客户端很长时间但服务器保持连接打开).就像帮助说的那样,如果你有过早的活动超时问题,通常最好增加超时时间;例如,-tl 3600一小时.
AFAIK声明“除非通过tcpip无法访问客户端,否则将不会重置连接”似乎过于简单化:活动数据包的检查似乎比简单的“无法达到”测试复杂得多.
布瑞克