诊断 DB2 Java 应用程序的性能问题 (2)
2008-09-16 16:29:15 来源:WEB开发网清单 34. 执行 testgetpwnam 程序
$ xlc testgetpwnam.C
$ time ./a.out bianca
getpwnam returned OK.
getpwnam_r returned OK.
real 0m0.80s
user 0m0.01s
sys 0m0.00s
./a.out bianca 的输出显示,除了执行期间所花的时间外,用户 bianca 是通过操作系统调用 getpwnam() 和 getpwnam_r()发现的。如果执行时间过长,那么 AIX 管理员应该调查导致 AIX 中发生延迟的原因。
在 Windows 平台上,DB2 支持访问标志。由于访问标志被缓存起来,因此可以提高认证性能。可以通过将 DB2 注册表变量 DB2_GRP_LOOKUP 设置为 TOKEN、TOKENLOCAL 或 TOKENDOMAIN 来启用访问标志支持。访问标志支持可用于除 CLIENT 认证之外的所有类型的认证。
清单 35. Windows 认证 DB2 注册表变量
db2set DB2_GRP_LOOKUP=,TOKEN
db2set DB2_GRP_LOOKUP=LOCAL,TOKENLOCAL
db2set DB2_GRP_LOOKUP=DOMAIN,TOKENDOMAIN
由于与加密/解密相关的开销,很多经常使用 SERVER_ENCRYPT 认证与 DB2 服务器建立短暂连接的应用程序会出现性能下降。显而易见的解决方案是将认证设置为 SERVER,从而不需要加密/解密。但是,如果由于安全方面的原因不能将认证设置为 SERVER,那么修改应用程序,使之使用为期更长、次数更少的连接,或者利用连接池。
结束语
应用程序性能问题的诊断并不简单,而且由于环境的复杂性,还可能变得更加复杂。随着环境的复杂性的增加,为找出问题而需要付出的努力也随之增加。本文演示了很多可以帮助找出导致性能瓶颈的组件的工具。我们看了一些 Java 应用程序、Java 例程和网络的测试用例,以演示如何诊断性能问题的原因。我们还讨论了不同平台上认证性能问题的诊断。
发现应用程序性能问题的方法不止一种。通过使用本文演示的跟踪工具和测试用例,应用程序开发人员和数据库管理员应该可以为诊断各种类型的性能问题制定计划。
更多精彩
赞助商链接