新足迹

 找回密码
 注册

精华好帖回顾

· 陕西小吃--炒凉粉 (2009-5-7) bluesummer · E&E -- 小面作坊 -- 鸡蛋灌饼 (附鸡蛋摊饼和果枣粥) (2010-11-7) 闲夏采薇
· 贝贝漫长的专业求职道路(全文完) (2007-10-4) 贝贝 · 我的两年的做工找工经历——纪念我们登陆两周年 (刚从GC回来,争取近日更新) (2008-1-14) qqyang
Advertisement
Advertisement
查看: 3925|回复: 51

网站performance求助~~~ [复制链接]

发表于 2014-7-29 11:04 |显示全部楼层
此文章由 IsDonIsGood 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 IsDonIsGood 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 IsDonIsGood 于 2014-7-29 10:48 编辑

刚接手的一个站点,用的是sitecore6.6,.net4。现在的问题是超过150人同时在线就会慢到无法忍受然后timeout。
一共2台webserver和一台load  balancer server做的web farm。
timeout 的时候 后台能看见上百个request waiting,CPU到90%,memory 到2GB。
数据库SQL2008R2,EF4做ORM. 数据库服务器上sqlserver进程只显示用了100MB左右。AWE常驻10GBmem。
一半内容是直接读取数据然后显示数据,另一半有用户互动,做题然后给出评估之类的。

现在只能手动recycle。
这个原因很多,求各位大牛给指点方向和好的performance test的工具~~

谢谢~~

update:server 全部是virtual 具体怎么弄得不清楚ICT在搞。
2020目标: 活着
Advertisement
Advertisement

发表于 2014-7-29 11:12 |显示全部楼层
此文章由 北风 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 北风 所有!转贴必须注明作者、出处和本声明,并保持内容完整
在sql server里有没有wait?resource waits是什么?

发表于 2014-7-29 11:14 |显示全部楼层
此文章由 北风 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 北风 所有!转贴必须注明作者、出处和本声明,并保持内容完整
server之间是怎么连接的?Fibre?

发表于 2014-7-29 11:15 |显示全部楼层
此文章由 北风 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 北风 所有!转贴必须注明作者、出处和本声明,并保持内容完整
recource monitor里面的各个usage怎么样?

发表于 2014-7-29 11:17 来自手机 |显示全部楼层
此文章由 wyatt 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 wyatt 所有!转贴必须注明作者、出处和本声明,并保持内容完整
Which server's CPU is 90%? Web server?

发表于 2014-7-29 11:22 |显示全部楼层
此文章由 Fernando 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Fernando 所有!转贴必须注明作者、出处和本声明,并保持内容完整
75个人一台server就不行了.... 这是什么程序啊
Advertisement
Advertisement

发表于 2014-7-29 11:25 |显示全部楼层
此文章由 brahmasky 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 brahmasky 所有!转贴必须注明作者、出处和本声明,并保持内容完整
HP软件里面有个Diagnostics,可以给Java和.NET的应用装profiler查看各种进程及数据库调用情况。市面上应该有很多这种类似的profiler

https://www.google.com.au/webhp? ... 8#q=.net%20profiler

评分

参与人数 1积分 +3 收起 理由
IsDonIsGood + 3 感谢分享

查看全部评分

鬼叫你穷呀,顶硬上呀
出来混,迟早是要还的
头像被屏蔽

禁止发言

发表于 2014-7-29 11:37 |显示全部楼层
此文章由 lubber 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 lubber 所有!转贴必须注明作者、出处和本声明,并保持内容完整
might be a bad query which takes most of the resource, use sql profile to capture some calls and check how long it takes to return result

发表于 2014-7-29 11:49 |显示全部楼层
此文章由 IsDonIsGood 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 IsDonIsGood 所有!转贴必须注明作者、出处和本声明,并保持内容完整
北风 发表于 2014-7-29 10:14
server之间是怎么连接的?Fibre?

全部vitrual的,托管在别人的hosting,自己没有hosting。
2020目标: 活着

发表于 2014-7-29 11:50 |显示全部楼层
此文章由 IsDonIsGood 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 IsDonIsGood 所有!转贴必须注明作者、出处和本声明,并保持内容完整
wyatt 发表于 2014-7-29 10:17
Which server's CPU is 90%? Web server?

web server
sql  server is fine all the time.
2020目标: 活着

发表于 2014-7-29 11:52 来自手机 |显示全部楼层
此文章由 典 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 典 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 典 于 2014-7-29 11:07 编辑

缓存配置问题,网页设计问题,数据库问题等等

一步一步来,先优化两三个top queries, 加index,优化index之类,有时一个query 的优化能提高系统很大一部分性能


SQL 2008 自带很多reports,  先看performance - top queries by avg CPU time, 或者类似的, right click the server就可看

最好也要运行SQL profiler 几个小时,看看对数据库的访问情况,

评分

参与人数 1积分 +6 收起 理由
IsDonIsGood + 6 感谢分享

查看全部评分

职业灌水赚分
Advertisement
Advertisement

发表于 2014-7-29 11:59 来自手机 |显示全部楼层
此文章由 典 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 典 所有!转贴必须注明作者、出处和本声明,并保持内容完整
如果想跟踪到具体的瓶颈,用fiddler,看哪个页面哪个功能的等待时间特长,再进去查具体的功能或query.

发表于 2014-7-29 12:10 来自手机 |显示全部楼层
此文章由 典 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 典 所有!转贴必须注明作者、出处和本声明,并保持内容完整
看到数据库100m,
这个可能是配置问题吗?会不会有人把数据库配置错了,导致数据库资源不够,所以大家都等待,等待期间webserver要占有大量资源的。
职业灌水赚分

发表于 2014-7-29 12:16 |显示全部楼层
此文章由 wyatt 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 wyatt 所有!转贴必须注明作者、出处和本声明,并保持内容完整
brahmasky 发表于 2014-7-29 10:25
HP软件里面有个Diagnostics,可以给Java和.NET的应用装profiler查看各种进程及数据库调用情况。市面上应该 ...

这个很贵.

发表于 2014-7-29 12:16 |显示全部楼层
此文章由 IsDonIsGood 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 IsDonIsGood 所有!转贴必须注明作者、出处和本声明,并保持内容完整
典 发表于 2014-7-29 11:10
看到数据库100m,
这个可能是配置问题吗?会不会有人把数据库配置错了,导致数据库资源不够,所以大家都等 ...

数据库这块sqlserver.exe在资源管理器里只看得到占用155MB。
但是用RAMMAP可以看见AWE占用了9.5GB的内存。
AWE是32bit的sqlserver用来管理超过4GB以外内存的,但是我们的sql servershi 64bit的,也没用enable AWE.
2020目标: 活着

发表于 2014-7-29 12:18 |显示全部楼层
此文章由 LifesoCool 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 LifesoCool 所有!转贴必须注明作者、出处和本声明,并保持内容完整
IIS是否启用缓存?WEB SERVER前端能否有个反代服务器之类的吗?
Advertisement
Advertisement

发表于 2014-7-29 12:19 |显示全部楼层
此文章由 IsDonIsGood 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 IsDonIsGood 所有!转贴必须注明作者、出处和本声明,并保持内容完整
wyatt 发表于 2014-7-29 10:17
Which server's CPU is 90%? Web server?

web server & sql server
2020目标: 活着

发表于 2014-7-29 12:22 |显示全部楼层
此文章由 wyatt 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 wyatt 所有!转贴必须注明作者、出处和本声明,并保持内容完整
看看DB connection是不是max了?

发表于 2014-7-29 12:27 |显示全部楼层
此文章由 鱼羊鲜 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 鱼羊鲜 所有!转贴必须注明作者、出处和本声明,并保持内容完整
看样不是前端的问题

发表于 2014-7-29 12:32 来自手机 |显示全部楼层
此文章由 典 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 典 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我觉得当务之急还是看SQL server 的activity monitor 吧(right click server),资源使用情况那里会显示,
然后强烈建议运行SQL profiler几十分钟,我一般把profiler结果保存到table里,删除没用的,基本上能看出主要问题,

评分

参与人数 1积分 +3 收起 理由
IsDonIsGood + 3 感谢分享

查看全部评分

职业灌水赚分

发表于 2014-7-29 13:43 |显示全部楼层
此文章由 gooderic1977 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 gooderic1977 所有!转贴必须注明作者、出处和本声明,并保持内容完整
在Server上装NewRelic,一切见分晓

http://newrelic.com/
Advertisement
Advertisement

发表于 2014-7-29 14:11 |显示全部楼层
此文章由 5.5 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 5.5 所有!转贴必须注明作者、出处和本声明,并保持内容完整
IF you have to recycle the IIS application pool to fix the timeout issue,
most likely the issue resides on the IIS component not SQL
this is where it gets tricky, you need to look the code base

发表于 2014-7-29 14:20 |显示全部楼层
此文章由 adu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 adu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
学习

发表于 2014-7-29 14:46 来自手机 |显示全部楼层
此文章由 典 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 典 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 典 于 2014-7-29 13:47 编辑
5.5 发表于 2014-7-29 13:11
IF you have to recycle the IIS application pool to fix the timeout issue,
most likely the issue res ...


我不完全同意这个,
他说150个用户,这么少的用户怎么可能造成webserver 出问题?

我估计是数据库响应不了,所有web请求都等待。

当然也不排除webserver 配置有问题
职业灌水赚分

发表于 2014-7-29 14:58 |显示全部楼层
此文章由 Fernando 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Fernando 所有!转贴必须注明作者、出处和本声明,并保持内容完整
LZ是码农?
现在的IT什么都要管啊

发表于 2014-7-29 15:02 |显示全部楼层
此文章由 Fernando 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Fernando 所有!转贴必须注明作者、出处和本声明,并保持内容完整
CPU 90% 是被db 还是 web server占用的?如果是sql server 占用的基本就是sql的问题,如果不是也可能是db的问题。先看db吧,sql 自带的工具查性能是足够了,很快就能确定db有没有问题

评分

参与人数 1积分 +4 收起 理由
+ 4 感谢分享

查看全部评分

like hell
Advertisement
Advertisement

发表于 2014-7-29 15:05 |显示全部楼层
此文章由 su_27km 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 su_27km 所有!转贴必须注明作者、出处和本声明,并保持内容完整
对啊。90%的CPU使用率,看看那个东东再用啊。然后从这里入手啊。

发表于 2014-7-29 15:13 |显示全部楼层
此文章由 5.5 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 5.5 所有!转贴必须注明作者、出处和本声明,并保持内容完整
典 发表于 2014-7-29 13:46
我不完全同意这个,
他说150个用户,这么少的用户怎么可能造成webserver 出问题?

it could be anything & everything, but I generally look at the of IIS hook up components/threads dump first
If the IIS is waiting for SQL return, it won’t use much CPU unless it's bad code, either way it is no brainier,  it’s either SQL or IIS
There is a third possibility, it is caused by the host provider, the cheap hosting provider notoriously known for over subscribe IOPS and CPU on their virtualized infrastructure to maximize profit , your VM may seem to have 4 or 8 core of CPU, but it’s calculation ability could be ½ or ¼ of actual a physical desktop on per core per thread basis.
A simple 5 line of code to loop through integer or floating will tell if your ISP host server has been overloaded on CPU
unlike in this case, but it did happen to me.....
good luck anyway

评分

参与人数 2积分 +12 收起 理由
+ 6 感谢分享
IsDonIsGood + 6 感谢分享

查看全部评分

发表于 2014-7-29 15:22 |显示全部楼层
此文章由 清风拂山岗 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 清风拂山岗 所有!转贴必须注明作者、出处和本声明,并保持内容完整
装一个软件看看CPU到底在干什么?哪个线程?在执行什么代码?

发表于 2014-7-29 15:23 |显示全部楼层
此文章由 eguan88 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 eguan88 所有!转贴必须注明作者、出处和本声明,并保持内容完整
server issue, upgrade and test again

发表回复

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

本版积分规则

Advertisement
Advertisement
返回顶部