新足迹

 找回密码
 注册

精华好帖回顾

· 现在骗分真难,再发一个,搞个2014新大切(更新:34楼,被警察pull over了)(再更新:上图了,在43楼) (2013-7-6) ltroad · 太累了,打工怎么这么累? (2005-4-21) xiangjia
· 煮饭这件小事 (2015-12-22) 胡须康 · 参加活动--简单家庭晚餐-更新第三晚23日 (2010-7-21) chatchat
Advertisement
Advertisement
查看: 1220|回复: 12

多用户运行大型SP [复制链接]

发表于 2011-5-4 12:20 |显示全部楼层
此文章由 梦呓人 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 梦呓人 所有!转贴必须注明作者、出处和本声明,并保持内容完整
各位帅哥、美女,


有一个Stored Procedure已经被优化从10秒到4秒。现在的问题是假设有30个用户同时进行,依然对database server是一个很大的负担,而且返回时间可能会大大多于4秒。


有什么办法解决?(除了继续优化query和购置更好的服务器)


谢谢!
Advertisement
Advertisement

退役斑竹 2007 年度奖章获得者 2008年度奖章获得者 特殊贡献奖章 参与宝库编辑功臣

发表于 2011-5-4 12:29 |显示全部楼层
此文章由 黑山老妖 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 黑山老妖 所有!转贴必须注明作者、出处和本声明,并保持内容完整
index?
caching?
data warehousing/mining 考虑materialized view?

评分

参与人数 1积分 +2 收起 理由
BJ-KING + 2 谢谢奉献

查看全部评分

发表于 2011-5-4 13:23 |显示全部楼层
此文章由 典 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 典 所有!转贴必须注明作者、出处和本声明,并保持内容完整
Many options there,
Would you mind to give more details?
1) if the result is almost same (for all users), you can cache the data from the APP level
2) if you have some calculation fields in the query --> you may move some calculation to the app level / or pre-calculate
3) if you have some big tables involved, you may do some partition  / or denormanization
...................

评分

参与人数 2积分 +5 收起 理由
BJ-KING + 2
flyspirit + 3 正解

查看全部评分

发表于 2011-5-4 14:01 |显示全部楼层
此文章由 jerryclark 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 jerryclark 所有!转贴必须注明作者、出处和本声明,并保持内容完整
试试看:“with (nolock)”

评分

参与人数 1积分 +2 收起 理由
BJ-KING + 2

查看全部评分

发表于 2011-5-4 15:13 |显示全部楼层
此文章由 梦呓人 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 梦呓人 所有!转贴必须注明作者、出处和本声明,并保持内容完整
分分先送上,谢谢兄弟姐妹们了!

发表于 2011-5-4 15:14 |显示全部楼层
此文章由 梦呓人 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 梦呓人 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 黑山老妖 于 2011-5-4 12:29 发表
index?
caching?
data warehousing/mining 考虑materialized view?



index已经用了;caching不行因为数据需要live的并且很多人会同时修改/访问;data warehouse正在弄,目前那个客户还不行。
Advertisement
Advertisement

发表于 2011-5-4 15:19 |显示全部楼层
此文章由 梦呓人 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 梦呓人 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 于 2011-5-4 13:23 发表
Many options there,
Would you mind to give more details?
1) if the result is almost same (for all users), you can cache the data from the APP level
2) if you have some calculation fields in the query --> you may move some calculation to the app level / or pre-calculate
3) if you have some big tables involved, you may do some partition  / or denormanization



目前QA是一个人在测试,不过我会写一个load balance程序去模拟多用户操作。Query没有Caculated Fields啦。Denormalization我要建议一下。

万分感谢!

发表于 2011-5-4 15:21 |显示全部楼层
此文章由 梦呓人 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 梦呓人 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 jerryclark 于 2011-5-4 14:01 发表
试试看:“with (nolock)”



也试过,差别不是很大。而且要承担uncommit transaction data的风险,所以暂时不用,不过还是谢谢了!!

发表于 2011-5-4 15:34 |显示全部楼层
此文章由 噜噜兔 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 噜噜兔 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 BJ-KING 于 2011-5-4 12:20 发表
各位帅哥、美女,


有一个Stored Procedure已经被优化从10秒到4秒。现在的问题是假设有30个用户同时进行,依然对database server是一个很大的负担,而且返回时间可能会大大多于4秒。


有什么办法解决?(除了继续优化query和购置更好的服务器)


谢谢!


replicate server and load balance by F5 LTM

评分

参与人数 1积分 +2 收起 理由
BJ-KING + 2 谢谢你美女。我也很爱吃螃蟹

查看全部评分

就爱吃螃蟹

发表于 2011-5-4 15:36 |显示全部楼层

回复 噜噜兔 9# 帖子

此文章由 噜噜兔 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 噜噜兔 所有!转贴必须注明作者、出处和本声明,并保持内容完整
对不起,没看清原帖。我不太懂code。

发表于 2011-5-4 15:54 |显示全部楼层
此文章由 jands 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 jands 所有!转贴必须注明作者、出处和本声明,并保持内容完整
have you tried index hint? it work for me in some cases

评分

参与人数 1积分 +2 收起 理由
BJ-KING + 2 感谢分享

查看全部评分

Advertisement
Advertisement

发表于 2011-5-4 16:02 |显示全部楼层
此文章由 典 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 典 所有!转贴必须注明作者、出处和本声明,并保持内容完整
4 Seconds is not so bad
One thing you may need to worry about is dead-lock

[ 本帖最后由 典 于 2011-5-4 16:22 编辑 ]

评分

参与人数 1积分 +2 收起 理由
BJ-KING + 2 感谢分享

查看全部评分

发表于 2011-5-4 20:41 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
如果没有locking的问题,1个user和30个user的结果没什么特别的不同,如果你认为单个用户的performance tunning基本上没问题了,30用户就没问题,基本上不用测试.

毕竟sql server是当今最好关系型数据库之一,处理这个级别的并发(100以下)根本连想都不用想的,可能上百万级别的要考虑一下,这个级别的就没所谓。

评分

参与人数 1积分 +2 收起 理由
BJ-KING + 2 感谢分享

查看全部评分

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部