|
在正式运行环境客户反映系统速度慢,经过排查发现2个问题:
1、一个单表的查询大约8万条数据,页面反应时间在14秒左右,打开后台的日志输出发现,在服务器上KSQL执行时间久花了13秒,查看后台输出的SQL,发现是直接把8万条数据一次性取出后再由X5按照limit选取了前20条生成json送到了页面,这个如何优化??输入日志截取关键部分如下:
2015-04-10 08:03:53 [http-8080-5] [com.justep.log.sql.time] DEBUG: [SQL Time]sql 执行时间:3076ms, exec KSQL: select Kit.* from Kit Kit where (Kit.fCreateSite='CAC' and Kit.fCreatorCode is not null and Kit.fIsDelete=0) AND (1=1)order By fBarcode DESC,fEditDate DESC limit 0,20
--> sql:SELECT Kit.fID AS Kit, Kit.FID AS fId, Kit.VERSION AS version, Kit.FPCASEID AS fPCaseId, Kit.FBARCODE AS fBarcode, Kit.FCNNAME AS fCnname, Kit.FENNAME AS fEnname, Kit.FPCASENO AS fPCaseNo, Kit.FCONTRACTNO AS fContractNo, Kit.FANNEXNO AS fAnnexNo, Kit.FANNEXSERNO AS fAnnexSerNo, Kit.FSHIPBATCH AS fShipBatch, Kit.FPARTNO AS fPartNo, Kit.FQUALITYNO AS fQualityNo, Kit.FQTY AS fQty, Kit.FUNIT AS fUnit, Kit.FARCHIVEDATE AS fArchiveDate, Kit.FUSEDLIFE AS fUsedLife, Kit.FKITSTATE AS fKitState, Kit.FARCHIVELIFE AS fArchiveLife, Kit.FPRODUCTDATE AS fProductDate, Kit.FDESCRIPTION AS fDescription, Kit.FCREATEDATE AS fCreateDate, Kit.FEDITDATE AS fEditDate, Kit.FISDELETE AS fIsDelete, Kit.FISSHOW AS fIsShow, Kit.FSTATE AS fState, Kit.FREMARK AS fRemark, Kit.FSTATEROUTE AS fStateRoute, Kit.FCREATESITE AS fCreateSite, Kit.FCREATORCODE AS fCreatorCode, Kit.FEDITORCODE AS fEditorCode, Kit.FANNEXVERITEMMAPID AS fAnnexVerItemMapId FROM tabKit Kit WHERE ( (Kit.FCREATESITE = ?) AND (Kit.FCREATORCODE IS NOT NULL) AND (Kit.FISDELETE = ?) ) AND (? = ?) ORDER BY fBarcode DESC, fEditDate DESC
--> binds:[CAC, 0, 1, 1]
2015-04-10 08:03:55 [http-8080-5] [com.justep.system.data.impl.TableUtilsImplement] DEBUG: KSQL 执行时间:4821ms
2015-04-10 08:03:55 [http-8080-5] [com.justep.log.action.time] DEBUG: [Action Time]action执行时间:7163ms,/Bc_LMS/Bc_LMS/process/kit/kitProcess,mainActivity,queryKit2Action
2、发现在开发环境同样的程序运行竟然比服务器上需要的时间要少!!!
开发环境和正式环境数据库都是SQL SERVER 2008 R2,数据库和tomcat都是装在同一台机器上
关键参数 | 开发环境 | 正式环境 | sql执行时间 | 3076ms | 5054ms | KSQL时间 | 4821ms | 13618ms | 操作系统版本 | win7 64位 | window server 2008 R2 64位 | 内存 | 6G | 96G | JDK | 1.6 32bit(X5自带) | 1.6 64bit | TOMCAT启动参数 | -Xms512M -Xmx1024M -Ddebug=true -XX:MaxPermSize=256m | -Xms3024M -Xmx4024M |
|
|