首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

数据库服务器负荷的分析与优化 ,(见者有分),该怎么解决

2012-04-07 
数据库服务器负荷的分析与优化,(见者有分)如题,服务器用的是sqlserver2000的话,大家有什么好的建议和经验

数据库服务器负荷的分析与优化 ,(见者有分)
如题,服务器用的是sqlserver2000的话,大家有什么好的建议和经验吗

[解决办法]
学习!
[解决办法]
等高手...
[解决办法]
gz
[解决办法]
等高手
[解决办法]
是个苦力活,当然也需要经验技巧
不实地监测和分析一下,神仙也算不出结果、答案来
不三五十分钟的事儿
[解决办法]
mark
[解决办法]
学吧
[解决办法]
up
[解决办法]
学习
[解决办法]
题目能否再具体一点?
[解决办法]
大批量的数据运算不要都依赖于数据库端(如通过存储过程),会大大增加数据库的负担,适当的部分应当放在前端运算。
[解决办法]
题目好大。
记得好像有本书专门讲这个。
[解决办法]
up,mark
[解决办法]

SQL code
转点数据:【导读】优化较大的工作负荷会对所优化的服务器产生很大的开销。开销是由数据库引擎优化顾问在优化进程中多次调用查询优化器导致的。如果除生产服务器以外,再使用一台测试服务器,则可以消除此开销问题。本文介绍如何用MSSQL 2005减轻生产服务器优化负荷。  优化较大的工作负荷会对所优化的服务器产生很大的开销。开销是由数据库引擎优化顾问在优化进程中多次调用查询优化器导致的。如果除生产服务器以外,再使用一台测试服务器,则可以消除此开销问题。  数据库引擎优化顾问如何使用测试服务器  使用测试服务器的传统方法是将所有数据从生产服务器复制到测试服务器,优化测试服务器,然后在生产服务器上实现建议。此过程可以消除对生产服务器的性能影响,但这不是最佳解决方案。例如,将大量数据从生产服务器复制到测试服务器可能消耗大量时间和资源。此外,测试服务器硬件很少像生产服务器中部署的硬件那样功能强大。优化进程依赖于查询优化器,而它生成的建议部分依赖于基础硬件。如果测试服务器硬件和生产服务器硬件不相同,数据库引擎优化顾问建议的质量就会降低。  若要避免出现这些问题,数据库引擎优化顾问将通过把大部分优化负荷转移到测试服务器,优化生产服务器上的数据库。它通过使用生产服务器硬件配置信息,而不是真正地将数据从生产服务器复制到测试服务器,来执行该操作。数据库引擎优化顾问不会将实际数据从生产服务器复制到测试服务器中。它仅复制元数据和必要的统计信息。  下列步骤概要介绍了用于在测试服务器上优化生产数据库的过程:  1. 确保两台服务器上都存在要使用测试服务器的用户。  开始之前,请确保两台服务器上都存在要使用测试服务器来优化生产服务器上的数据库的用户。这就需要您在测试服务器上创建用户及其登录帐户。如果您在两台计算机上都是 sysadmin 固定服务器角色成员,将不需要执行此步骤。  2. 优化测试服务器上的工作负荷。  若要优化测试服务器上的工作负荷,必须通过 dta 命令行实用工具使用 XML 输入文件。在 XML 输入文件中,在 TuningOptions 父元素下使用 TestServer 子元素指定测试服务器的名称,并为其他子元素指定值。  在优化进程中,数据库引擎优化顾问将在测试服务器上创建 Shell 数据库。若要创建此 Shell 数据库并对其进行优化,数据库引擎优化顾问需要在下列情况下调用生产服务器:  a. 数据库引擎优化顾问将元数据从生产数据库导入到测试服务器 Shell 数据库。此元数据包括空表、索引、视图、存储过程和触发器等。这使得对测试服务器 Shell 数据库执行工作负荷查询成为可能。  b. 数据库引擎优化顾问从生产服务器导入统计信息,以便查询优化器可以准确优化对测试服务器的查询。  c. 数据库引擎优化顾问从生产服务器导入指定处理器数和可用内存量的硬件参数,为查询优化器提供生成查询计划所需的信息。  3. 数据库引擎优化顾问优化完测试服务器 Shell 数据库后,将生成优化建议。  4. 将通过优化测试服务器得到的建议应用于生产服务器。  注意:在数据库引擎优化顾问的图形用户界面 (GUI) 中不支持测试服务器优化功能。  示例  首先,请确保测试服务器和生产服务器上都存在要执行优化的用户。  将用户信息复制到测试服务器后,就可以在数据库引擎优化顾问 XML 输入文件中定义测试服务器优化会话。下面的示例 XML 输入文件说明如何使用数据库引擎优化顾问指定测试服务器来优化数据库。  在此示例中,MyDatabaseName 数据库在 MyServerName 上进行优化。Transact-SQL 脚本(即 MyWorkloadScript.sql)用作工作负荷。此工作负荷包含对 MyDatabaseName 执行的事件。查询优化器对此数据库的大部分调用操作(作为优化进程的一部分发生)是由驻留在 MyTestServerName 上的 Shell 数据库实现的。Shell 数据库由元数据和统计信息构成。此进程会将优化开销卸载到测试服务器。数据库引擎优化顾问使用此 XML 输入文件生成优化建议时,应只考虑索引 (IDX) 而不考虑分区,并且不需要在 MyDatabaseName 中保留现有的任何物理设计结构。<?xml version="1.0" encoding="utf-16" ?><DTAXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://schemas.microsoft.com/sqlserver/2004/07/dta"> <DTAInput><Server> <Name>MyServerName</Name>  <Database>    <Name>MyDatabaseName</Name> </Database>  </Server>  <Workload>   <File>MyWorkloadScript.sql</File>  </Workload>  <TuningOptions>  <TestServer>MyTestServerName</TestServer>  <FeatureSet>IDX</FeatureSet>   <Partitioning>NONE</Partitioning><KeepExisting>NONE</KeepExisting> </TuningOptions></DTAInput></DTAXML>http://www.onegreen.net/Article/Database/SQLServer/SQLServer2/14762_2.html 


[解决办法]
I/O,索引,分区表,内存使用,CPU使用,存储过程....
恐怕要讨论的东西很多.
[解决办法]
见者有分!!
[解决办法]
帮到顶。
[解决办法]
关注中
[解决办法]
Mark

怎么分析现有问题??
[解决办法]
lu guo...
[解决办法]
数据缓存前段
[解决办法]
--硬件
--磁盘阵列 提升HW性能 
--软件
--OS、SQL、APPLICATION
--网络
--NAS、专用线路、等
[解决办法]
用SQL 事件探查器看看,也许会有帮助。
[解决办法]
cpu rom IO 三个硬指标随时观测

数据库的事件跟踪器保持详细记录

维持 8天或者15天,看第8天对应第1天有什么区别或者第15天对应第8天和第1天有什么区别。


[解决办法]
看服务器负荷的话 perfmon.msc 详细需要跟踪的参数请参考联机帮助 有很详细的说明...

--下面摘抄 联机帮助 内存 这一部分 

监视内存的使用
定期监视 Microsoft® SQL Server? 实例,确认内存的使用在正常范围内,并且没有进程(包括 SQL Server)缺少内存或消耗太多的内存。

若要监视内存不足情况,可从下列对象计数器开始: 

Memory:Available Bytes


Memory:Pages/sec 
Available Bytes 计数器表示当前进程可使用的内存字节数。Pages/sec 计数器表示由于缺页处理而从磁盘取回的页数,或由于缺页处理而写入磁盘以释放工作集空间的页数。

偏低的 Available Bytes 计数器值表示计算机从总体上短缺内存或一个应用程序没有释放内存。高比率的 Pages/sec 计数器值可能表示换页过度。监视 Memory:Page Faults/sec 计数器以保证磁盘活动不是由换页造成的。 

换页率偏低(以及由此产生的换页错误)是正常的,即使计算机有大量的可用内存。Microsoft Windows NT® 虚拟内存管理器 (VMM) 在调整 SQL Server 和其它进程的工作集大小时,会盗用这些进程的页,从而导致换页错误。若要确定是 SQL Server 而非其它进程导致过度换页,请监视 Process:Page Faults/sec 计数器。

有关解决过多换页的更多信息,请参见 Windows NT 4.0 或 Microsoft Windows® 2000 文档。

隔离 SQL Server 所用的内存
默认情况下,SQL Server 会依据可获得的系统资源动态改变它的内存需求。如果 SQL Server 需要更多的内存,它会要求操作系统确定是否有空闲的物理内存可用,并使用可用的内存。若 SQL Server 不再需要当前分配给它的内存,它就将内存释放给操作系统。不过,可以用 min server memory、max server memory 和 set working set size 服务器配置选项替代动态使用内存的选项。有关更多信息,请参见服务器内存选项。

若要监视 SQL Server 正在使用的内存量,请检查下列性能计数器: 

Process:Working Set


SQL Server:Buffer Manager:Buffer Cache Hit Ratio


SQL Server:Buffer Manager: Total Pages


SQL Server:Memory Manager:Total Server Memory (KB) 
Working Set 计数器表示的是一个进程所占用的内存数量。若这一数值持续低于 SQL Server 配置使用的内存数量(由"最小服务器内存"和"最大服务器内存"服务器选项设置),则表示 SQL Server 所配置的内存比它所需要的多。否则,用"设置工作集大小"服务器选项修改工作集大小。有关更多信息,请参见 set working set size 选项。 

Buffer Cache Hit Ratio 计数器值依应用程序而定,但比率最好为 90% 或更高。增加内存直到这一数值持续高于 90%,表示 90% 以上的数据请求可以从数据缓冲区中获得所需数据。

若 Total Server Memory (KB) 计数器值与计算机的物理内存大小相比一直很高,可能表示需要更多的内存。

[解决办法]
胡百敬写的一本叫<SQL SERVER 2005性能调优>里面写得比较多
包括一些工具使用,跟分析,优化.................................................
[解决办法]

SQL code
http://technet.microsoft.com/zh-tw/library/cc966540(en-us).aspx
[解决办法]
http://technet.microsoft.com/zh-tw/library/cc966540(en-us).aspx
[解决办法]
路过
------解决方案--------------------


1. 确保两台服务器上都存在要使用测试服务器的用户。

  开始之前,请确保两台服务器上都存在要使用测试服务器来优化生产服务器上的数据库的用户。这就需要您在测试服务器上创建用户及其登录帐户。如果您在两台计算机上都是 sysadmin 固定服务器角色成员,将不需要执行此步骤。


  2. 优化测试服务器上的工作负荷。

  若要优化测试服务器上的工作负荷,必须通过 dta 命令行实用工具使用 XML 输入文件。在 XML 输入文件中,在 TuningOptions 父元素下使用 TestServer 子元素指定测试服务器的名称,并为其他子元素指定值。

  在优化进程中,数据库引擎优化顾问将在测试服务器上创建 Shell 数据库。若要创建此 Shell 数据库并对其进行优化,数据库引擎优化顾问需要在下列情况下调用生产服务器:

  a. 数据库引擎优化顾问将元数据从生产数据库导入到测试服务器 Shell 数据库。此元数据包括空表、索引、视图、存储过程和触发器等。这使得对测试服务器 Shell 数据库执行工作负荷查询成为可能。

  b. 数据库引擎优化顾问从生产服务器导入统计信息,以便查询优化器可以准确优化对测试服务器的查询。

  c. 数据库引擎优化顾问从生产服务器导入指定处理器数和可用内存量的硬件参数,为查询优化器提供生成查询计划所需的信息。

  3. 数据库引擎优化顾问优化完测试服务器 Shell 数据库后,将生成优化建议。

  4. 将通过优化测试服务器得到的建议应用于生产服务器。


[解决办法]
学习~~~
[解决办法]
现在设备下最好建 索引,分区表;拆分成多库效果也不错!
[解决办法]
我处理上TB数据是用云计算、是分布式并行处理的
,几白万¥的服务器不一定比得上我用PC陈列,性价比是前者的10倍
[解决办法]



其实,我觉得首先要分析下你的负荷到底出自那里,是服务器的硬件问题还是数据库的语句问题,


如果是硬件问题当然要加内存或CPU,如果是数据库本身慢的问题,我的建议是多看写语句的优化方面的知识,这样对你的数据的优化是有帮助的



我公司的服务器去年年初也比较慢,经过一年的努力,还是将其优化到现在不错的速度
[解决办法]
学习!学习!学习!学习!
UP UP UP Up
[解决办法]
学习14楼
[解决办法]
不懂
[解决办法]
jf
[解决办法]
学习
[解决办法]
学习
[解决办法]

HTML code
http://book.csdn.net/bookfiles/129/#c1
[解决办法]
如果你数据服务器数据过大,不建议用SQL2000,屏颈太多,用SQL2008吧
[解决办法]
学习。。。。。。。。。。
[解决办法]
虽然简洁,但是对头。

性能优化是一个综合性的问题。
在硬件即定条件下,个人认为关键在于:
1、数据库结构设计及部署
2、程序设计性能问题——许多程序人员都不太考虑这些问题。


[解决办法]
路过
[解决办法]

[解决办法]
打酱油的。。。
[解决办法]
探讨
路过

[解决办法]
.
[解决办法]
优化有很多地方,不知道你具体是什么地方要优化啊!
[解决办法]
你数据库到底有多少数据??有多少客户端????现在的运行情况如何???这些问题现状应该说清楚点呀

优化的内容就多了,比如做服务器群集,查询语句优化等等...
[解决办法]
怎么没见到题啊
[解决办法]
学习

------解决方案--------------------


探讨
引用:


其实,我觉得首先要分析下你的负荷到底出自那里,是服务器的硬件问题还是数据库的语句问题,


如果是硬件问题当然要加内存或CPU,如果是数据库本身慢的问题,我的建议是多看写语句的优化方面的知识,这样对你的数据的优化是有帮助的


我公司的服务器去年年初也比较慢,经过一年的努力,还是将其优化到现在不错的速度


我就这么想的,呵呵,不过没有好的方法,也没有经验

[解决办法]
帮顶
[解决办法]
学习
[解决办法]
学习
[解决办法]
学习 我也想知道这个问题
[解决办法]
借助工具测试一下。
[解决办法]
DDD
[解决办法]
看看呀!
[解决办法]
学习....

[解决办法]
话题范围太广,建议楼主找本入门的书看看
[解决办法]
学习,见者有分?

[解决办法]
mark
[解决办法]
Study
[解决办法]
顶,关注
[解决办法]
学习!
[解决办法]
mark
[解决办法]
很古老但很神秘的问题
很简单但很深奥的问题
学习。。。
[解决办法]
学习中
[解决办法]
..
[解决办法]
学习中。。。。。。
[解决办法]
路过,已阅!~
[解决办法]
经验不多,学习.
[解决办法]
.
[解决办法]
学习
[解决办法]
学习
[解决办法]
为了积分下载,我到处评论
[解决办法]
减少数据沉余
[解决办法]
使用磁盘阵列的缓存技术,因为磁盘阵列可以无限累加
[解决办法]
初学者,向大家多多学习…
[解决办法]
见一个。
[解决办法]
减少数据沉余


.


[color=#FFFFFF]人力资源[/color]


[解决办法]
定期重新建立索引
------解决方案--------------------


学习
[解决办法]
学习
[解决办法]
等高手
[解决办法]
删除垃圾数据
[解决办法]
100贴,。。。。


jf

热点排行