最近接到开发部反应一套XXXX系统timeout、卡线异常问题,据说到了用户无法忍受的地步。
硬体配置:HP Server: 16GB 内存 CPU=2*4 ISISC磁盘
软体配置:Windows2003 + SQLSERVER2005
首先截取硬体性能分析,有发现存在大量的磁盘IO队列、内存页生命周期下降、页交换频繁...根据硬体性能所表现出来的"表象"来判断,初步判断为IO / MEM瓶颈,那么是什么原因引发的硬体瓶颈的表象?做如下分析定位问题:
1、以磁盘IO和响应时间为过滤条件、利用profiler 捕获负载重的SQL
2、通过第一步设置有捕获到2条SP响应时间以及磁盘read量较大
3、具体分析业务SP,都是比较简单的逻辑应用。其中资源耗用大的大多是sp中多表join连接、执行计划中hash扫描比较多;其中的一个SP用户查询不带条件,针对这一现象利用复合索引、强制用户查询带条件解决响应时间问题;另外一个SP中所关联的表数据量不大、继续分析条件栏位数据类型为布尔类型:0 and 1
值1:30万笔数据
值0:1000笔数据
而此业务主要通过查询值0的数据做数据匹配,根据这一逻辑需求,改善建议:
1、将该表劈开为两张表,0和1分开存储,需要开发部重新编译业务逻辑;
2,利用数据库分区表,将1、0作为分区存储数据。
至此此次优化基本完成,效能大幅提升400%。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24867586/viewspace-752930/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24867586/viewspace-752930/