文章
Michael Lei · 三月 12 阅读大约需 1 分钟

Linux TZ环境变量未被设置以及对Caché的影响

在最近的大规模基准测试活动中,我们看到过多的%sys CPU时间,对应用程序的扩展产生了负面影响。

问题

我们发现,由于TZ环境变量没有被设置,很多时间都花在了localtime()系统调用上。 我们创建了一个简单的测试程序来证实这一观察结果,设置了TZ与未设置TZ的时间差和所需的CPU资源都是惊人的。 我们发现,当TZ没有设置时,从localtime()继承使用stat()系统调用到/etc/local_time是成本很高。

建议

InterSystems强烈建议在任何Linux安装中,无论是x86还是Linux on Power,都要确认TZ环境变量的设置是否适当,以获得最佳性能。  更多详情请见。"man tzset"。

目前的Caché 2016.1现场测试包含了对日期和时间功能的优化,初步测试表明有很大的改进。  下面是测试新的内部函数调用的样本输出,在这两种情况下,在Power上的Linux都没有设置TZ。

在Caché 2016.1 FT之前:

real	0m22.60s
user	0m1.64s
sys	0m20.89s

带有Caché 2016.1 FT:

real	0m0.40s
user	0m0.37s
sys	0m0.00s

请在评论区说明你的应用程序在TZ环境变量方面的任何经验,以及Caché 2016.1现场测试在设置或不设置TZ时的影响。谢谢!

0
0 13
讨论 (0)1
登录或注册以继续