查找问题过程是痛苦的,解决完问题是快乐!

兄弟帮助一个公司开发了一个旅游网站(asp.net+sqlsever2005),一直还算稳定,但是最近网站却慢的可以,让人头疼。登录服务器,进入任务管理器,发现数据库文件sql.exe 文件占用内存很大,于是兄弟就限制了sqlserver2005 的内存大小,具体如下。

1、登录SQL SERVER Management Studio;

2、对象资源管理中第一项上单击右键,选择属性,切换内存选项卡如下图;

3、在AWE分配内存上打勾,解释一下:AWE地址窗口化扩展插件,允许在 32 位版本的 Microsoft Windows 操作系统上使用超过 4 GB 的物理内存,最多可支持 64 GB 的物理内存;在最大服务器内存中输入合适的数据,那没多大的数据合适呢?建议输入服务器的物理内容一半多一些比较好;在每次查询占用的最小内存内输入一个数据,点击确定就ok了。

  通过上述设置果然,sql.exe的内存大幅度下降,服务器很流畅,但是网站的速度并没有提高,头疼啊。通过查找发现sql.exe 占用CPU非常大,达到60%-70%,并且始终居高不下。哈哈发现了问题就不怕解决问题,于是乎我开始对数据库优化来降低cpu使用率。

  1、既然CPU很高,我就要找到那些语句占用cpu较高,然后好进行优化,编写如下语句,通过语句查找确实发现了一些sql语句需要优化,而且还发现了一个影响速度的原因,就是有些表缺少索引;查找这些占用CPU的SQL语句,我还用到了sqlserver2005的自带的性能优化工具SQL Server Profiler,进行分析查找。

SELECT TOP 10 [session_id],[request_id],[start_time] AS '开始时间',[status] AS '状态',[command] AS '命令',dest.[text] AS 'sql语句',
B_NAME([database_id]) AS '数据库名',[blocking_session_id] AS '正在阻塞其他会话的会话ID',[wait_type] AS '等待资源类型',[wait_time] AS '等待时间',
[wait_resource] AS '等待的资源',[reads] AS '物理读次数',[writes] AS '写次数',[logical_reads] AS '逻辑读次数',[row_count] AS '返回结果行数'FROM
sys.[dm_exec_requests] AS der CROSS APPLY sys.dm_exec_sql_text](der.[sql_handle]) AS dest WHERE [session_id]>50 AND
DB_NAME(der.[database_id])='数据库名称' ORDER BY [cpu_time] DESC

  ok我对语句进行了优化,又对没有索引的表建立索引(索引对查找数据的速度影响很大,所以大家一定要对所有表,经常查询的字段都要添加索引),发现CPU虽然下降了但是很不稳定以下60%,一下10%,网页打开依然很慢,怎么办呢?痛苦的争战中...打开window系统自带的事件查看器--》应用程序发现大量的数据库登录失败日志,点开查看发现“用户 'NT AUTHORITY\SYSTEM' 登录失败。 [客户端: <local machine>]”,如下图。

从网上查找了好多方法但是问题依然存在,试过N多办法,最后发现SQL Server Configuration Manager中的一个服务需要‘NT AUTHORITY\SYSTEM’登录,如下图,既然找到原因了,那就解决吧,这个服务对我们的网站没用,所以我把停掉了,服务器一切正常了。

最新文章

  1. Asp.net中存储过程拖拽至dbml文件中,提示无法获得返回值
  2. 一个java文件中可包含多个main方法
  3. C到C++的升级
  4. HDU 1087 Super Jumping! Jumping! Jumping! 最大递增子序列
  5. javascript 键盘事件总结
  6. C#_Fileuploadify_notMvc
  7. 字符串(AC自动机):HDU 5129 Yong Zheng&#39;s Death
  8. 关于下拉刷新你是否真的非常理解还是只会搬砖?附 Android 实例子源代码文件下载地址380个合集
  9. 全面解读Python Web开发框架Django
  10. 【Netty】Netty之Bootstrapping
  11. Spark ML源码分析之一 设计框架解读
  12. 配置nginx反向代理服务器,解决浏览器跨域调用接口的限制问题
  13. docker安装优化
  14. 让ubuntu下的eclipse支持GBK编码
  15. busybox devmem 直接获取、修改内存信息
  16. ArcEngine应用程序中无法实现TOC图层多选
  17. Python3基础 file open+write 对不存在的txt进行创建与写入
  18. P3901 数列找不同
  19. 正确理解 SqlConnection 的连接池机制[转]
  20. Git Hub 使用手册参考

热门文章

  1. cocoapods iOS类库管理工具的安装与使用
  2. 弹性盒子Flex Box滚动条原理,避免被撑开,永不失效
  3. 【技巧】歪脑筋优化flexbox瀑布流布局方案
  4. Ubuntu16.04如何安装bazel?
  5. Head First设计模式——复合模式
  6. Redis面试题集锦(精选)
  7. Windows SMBv3 CVE-2020-0796漏洞
  8. vue中eslint报错的解决方案
  9. SpiningUP 强化学习 中文文档
  10. mysql数据库远程访问设置方法