性能测试时发现阻塞在数据库端,测试人员找到了我。通过查询v$session_wait后发现基本上是datafile和redo文件的读写等待事件。监控时发现主机的cpu和内存还正常,loadrunner压力时发现入库操作(往表插数据阻塞)一直影响其他进程,对数据库作了statspack后发现往一张表中插入数据消耗了大量的buffer get。查看该表的存储参数后发现INITIAL_EXTENT为64K,NEXT_EXTENT为空,该表对应的表空间的ALLOCATION_TYPE为UNIFORM。在这种情况下表数据扩张时每次申请新的extent的大小为64k。由于是非常频繁插入数据,显然每次扩张64K的大小太小了,导致需不停扩张申请数据块。把该表的存储参数NEXT_EXTENT改为8M后没有插入阻塞出现,性能测试结果正常!
OLTP系统中,建议对于一些频繁插入数据的表的存储参数initial和next设置大点为好!
[@more@]来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/38542/viewspace-968513/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/38542/viewspace-968513/