ITPub博客

首页 > Linux操作系统 > Linux操作系统 > BIEB:关于CRM系统查询性能问题

BIEB:关于CRM系统查询性能问题

原创 Linux操作系统 作者:idba 时间:2010-01-06 16:07:19 0 删除 编辑
以下是任务背景描述:   
     小李是一家销售图书及音像制品的公司的DBA,负责管理公司的各种系统的后台SQL Server数据库,随着公司业务的发展,公司CRM(自己公司定制开发的系统)系统中会员的数量越来越大,每月以10万的用户数量在增长,目前CRM系统中已经存储了有1000万条用户数据库及相关信息。
     公司的业务运作方式是,通过一个拥有30个座席的呼叫中心,来根据客户的信息,给客户打电话销售相关产品;客户可以免费获得产品阅读和使用,但使用3个月后需要付款;整个发货,收货,收款等业务依靠定制的CRM系统来完成。

企业IT具体环境配置:
     1  公司有一台Web服务器,运行着公司的门户及网上定购系统,负责接受网上的在线订单;另外还运行着公司的基于Web的CRM系统,和呼叫中心相连;
     2  另外一台web服务器,运行着用户社区;
     3  有2台SQL Server数据库服务器,一台对应CRM的用户库;另外一台对应着社区用户数据库;2库之间有关系,社区用户库中,有一部分会员是CRM系统中的用户;
 

在第一季任务中提到:
1 随着用户数据量的增加,CRM系统及其它使用用户库的系统越来越慢,做一个查询有时需要等2-3分钟才能看到结果。

网友好色如歌给出了3条建议:
1 监测DB运行情况,看看运行负载的压力在哪个方面
如果是I/O压力,可能程序里对数据库的访问是不是太频繁了,可以分析一下应用程序的代码,可以考虑使用缓存机制存放只读数据、频繁访问的数据;
2 如果是CPU占用太大,说明SQL执行效率有问题,需要记录下最耗费资源的sql,然后一个个分析;看看是不是索引没有建好,比如建的索引没有被命中;
3 可以再分析应用程序,看看数据呈现的分页、看看数据读取的效率;可以把OLTP和OLAP的访问用户库的功能分拆开来。

      其中首先应该检查的是应用程序的性能,检查这一点时,也请同时注意分析SQL语句的性能。就是先判断每个应用页面中调用的SQL语句的执行时间。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/1384/viewspace-624495/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-03-25

  • 博文量
    210
  • 访问量
    395466