如何测试sqlserver性能

如何测试sqlserver性能,第1张

对于DBA来讲,我们都会做新服务器的性能测试。我会从TPC的基准测试入手,使用HammerDB做整体性能评估(前身是HammerOra),跟厂商数据对比。再使用DiskSpd针对性的测试磁盘IO性能指标(前身是SQLIO),再到SQLIOSIM测试存储的完整性,再到ostress并发压力测试,对于数据库服务器迁移,我们还会收集和回放Profiler Trace,并收集期间关键性能计数器做对比。

下面我着重谈谈使用HammerDB的TPC-C来做SQL Server基准测试。

自己写负载测试代码很困难

为了模拟数据库的负载,你想要有多个应用程序用户和混合数据读写的语句。你不想总是对单一行更新相同的值,或者只是重复插入假的值。

自己动手使用Powershell、C#等语言写负载测试脚本也不是不可能,只是太消耗时间,你需要创建或者恢复数据库,并做对应的测试。

免费而简单的压测SQL Server:使用HammerDB模拟OLTP数据库负载

HammerDB是一个免费、开源的工具,允许你针对SQL Server、Oracle、MySQL和PostgreSQL等运行TPC-C和TPC-H基准测试。你可以使用HammerDB来针对一个数据库生成脚本并导入测试。HammerDB也允许你配置一个测试运行的长度,定义暖机阶段,对于每个运行的虚拟用户的数量。

首先,HammerDB有一个自动化队列,让你将多个运行在不同级别的虚拟用户整合到一个队列--你可以以此获得在什么级别下虚拟用户性能平稳的结果曲线。你也可以用它来模拟用于示范或研究目的的不同负载。

用于SQL Server上的HammerDB的优缺点

HammerDB是一个免费工具,它也极易访问和快速的启动基准测试和模拟负载的方法。它的自动程序特性也是的运行工作负载相当自动。

主要缺点是它有一个学习曲线。用户界面不是很直观,需要花费时间去习惯。再你使用这个工具一段时间之后,将会更加容易。

HammerDB也不是运行每一个基准测试。它不运行TPC-E基准,例如,SQL Server更热衷于当前更具发展的OLTP基准TPC-E。如果你用HammerDB运行一个TPC-C基准,你应该理解它不能直接与供应商提供的TPC-C基准结果相比较。但是,它是免费的、快速的、易用的。

基准测试使用案例

基准测试负载不能精确模拟你的应用程序的特点。每个负载是唯一的,在不同的系统有不同的瓶颈。对于很多使用案例,使用预定义的基准测试仍然是非常有效的,包括以下性能的比较:

多个环境(例如:旧的物理服务器,新的虚拟环境)

使用各种因素的不同及时点(例如:使用共享存储和共享主机资源的虚拟机的性能)

在配置改变前后的点

当然,对一个数据库服务器运行基准测试可以影响其他SQL Server数据库或者相同主机上其他虚拟机的性能,在生产环境你确保有完善的测试计划。

对于自学和研究来说,有预配置的负载非常棒。

开始使用基准测试

你可以从阅读HammerDB官方文档的“SQL Server OLTP Load Testing Guide”开始。

在使用Windows XP的过程中,系统速度会随着时间的推移越来越慢,你可重装系统,但重装后,那么多的应用软件也要重新安装,如何在不安装系统的前提下提升Windows XP的运行速度呢? 1、定期整理磁盘碎片 计算机硬盘中最细小的单位是扇区,一个档案通常会占用若干扇区,每当硬盘用久了,无数次的新增、更改和删除档案后,就会造成很多断断续续的扇区,因而非连续性的档案便会愈来愈多,硬盘磁头便需要花更多时间跳来跳去来读取数据,这就导致硬盘速度减慢。有见及此,windows才会有“整理磁盘碎片”出现。只要执行“整理磁盘碎片”,所有非连续性的档案都会被重新编排得整整齐齐,至于执行时间,大约一星期左右执行一次便可了。 2、去掉预定任务 通常情况下,Windows XP在连接其它计算机时,会全面检查对方机子上所有预定的任务,这个检查会让你等上30秒钟或更多时间。去掉的方法是开始 a、修改注册表的run键,取消那几个不常用的东西,比如Windows Messenger。启用注册表管理器:开始→运行→Regedit→找到“HKEY_CURRENT_USER\Software\Microsoft\Windows\Current\Version\Run\ MSMSGS”/BACKGROUND这个键值,右键→删除,世界清静多了,顺便把那几个什么cfmon的都干掉吧。 b、修改注册表来减少预读取,减少进度条等待时间,效果是进度条跑一圈就进入登录画面了,开始→运行→regedit启动注册表编辑器,找HKEY_LOCAL_MACHINESYSTEM\ Current\Control\SetControl\ Session anagerMemory\ManagementPrefetchParameters,有一个键EnablePrefetcher把它的数值改为“1”就可以了。另外不常更换硬件的朋友可以在系统属性中把总线设备上面的设备类型设置为none(无)。 3、关闭系统属性中的特效 这可是简单有效的提速良方。点击开始→控制面板→系统→高级→性能→设置→在视觉效果中,设置为调整为最佳性能→确定即可。这样桌面就会和win2000很相似的,我还是挺喜欢XP的蓝色窗口,所以在“在窗口和按钮上使用视觉样式”打上勾,这样既能看到漂亮的蓝色界面,又可以加快速度。 5、Windows XP实现1秒关机 体积庞大的Windows XP操作系统关机起来很慢,大约需要30~50秒,但是按我们下面提供的方法更改注册表选项,你的Windows XP系统关机速度就会非常的快了。 找到HKEY-CURRENT-USER\Control Panel\Desktop键,将WaitToKillAppTimeout改为:1000,即关闭程序时仅等待1秒。 另:程序出错和系统自动关闭停止响应的程序如何实现快速关闭。 a、将HungAppTimeout 值改为:200,表示程序出错时等待0.5秒。 b、将AutoEndTasks 值设为:1,让系统自动关闭停止响应的程序。 6、关掉调试器Dr. Watson 我好像从win95年代开始一次也没用过这东西,可以这样取消:打开册表,找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Current\Version\AeDebug子键分支,双击在它下面的Auto键值名称,将其“数值数据”改为0,最后按F5刷新使设置生效,这样就取消它的运行了。沿用这个思路,我们可以把所有具备调试功能的选项取消,比如蓝屏时出现的memory.dmp,在“我的电脑→属性→高级→设置→写入调试信息→选择无”等等。 7、加快启动速度 要加快Windows XP的启动速度。可以通过修改注册表来达到目的,在注册表编辑器,找到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory ManagementPrefetchParameters,在右边找到EnablePrefetcher主键,把它的默认值3改为1,这样滚动条滚动的时间就会减少; 9、优化网上邻居 Windows XP网上邻居在使用时系统会搜索自己的共享目录和可作为网络共享的打印机以及计划任务中和网络相关的计划任务,然后才显示出来,这样速度显然会慢的很多。这些功能对我们没多大用的话,可以将其删除。在注册表编辑器中找到HKEY_LOCAL_MACHINEsofewareMicrosoftWindowsCurrent VersionExploreRemoteComputerNameSpace,删除其下的(打印机)和{D6277990-4C6A-11CF8D87- 00AA0060F5BF}(计划任务),重新启动电脑,再次访问网上邻居,你会发现快了很多。 10、自动关闭停止响应程序 有些时候,Win XP会提示你某某程序停止响应,很烦,通过修改注册表我们可以让其自行关闭,在HKEY_CURRENT_USERControl PanelDesktop中将字符健值是AutoEndTasks的数值数据更改为1,重新注销或启动即可。 11、加快菜单显示速度 为了加快菜单的显示速度,我们可以按照以下方法进行设置:我们可以在HKEY_CURRENT_USERControl PanelDesktop下找到“MenuShowDelay”主键,把它的值改为“0”就可以达到加快菜单显示速度的效果。 12、清除内存中不被使用的DLL文件 在注册表的HKKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion,在Explorer增加一个项AlwaysUnloadDLL,默认值设为1。注:如由默认值设定为0则代表停用此功能。 13、加快预读能力改善开机速度 Windows XP预读设定可提高系统速度,加快开机速度。按照下面的方法进行修改可进一步善用CPU的效率:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSessionManager MemoryManagement],在PrefetchParameters右边窗口,将EnablePrefetcher的数值数据如下更改,如使用PIII 800MHz CPU以上的建议将数值数据更改为4或5,否则建议保留数值数据为默认值即3。 四、Windows 2003 现在最新的微软操作系统是Win Server 2003。它是对应服务器的,现在有越来越多有朋友都升级到Windows 2003,安装之后大家发现没有,些操作系统麻烦多多,这样功能没有,那样功能打不开,甚至连听歌,玩游戏也成问题了。其实,Server 2003在XP的基础强化了安全性和稳定性,不得不关闭了一些工作站系统。我们是把 Win 2003当工作站用,当然要重新打开这些服务。 1、为DirectX加速 刚刚安装了Windows 2003,但是现在发现很多3D游戏都不能运行,只有一些传统2D平面游戏还能勉强运行,而且速度很慢。感觉上Windows 2003在运行PhotoShop时很快,但是为何不能运行3D游戏? 这并不是因为Windows 2003不支持3D游戏,而是系统设置的问题。首先请确保以正确的方式安装好显卡驱动,然后就要打开DirectX加速。DirectX加速是3D游戏最基本的需要,然而“为了”使Windows Server 2003更为单一地面向服务器平台应用,微软居然默认将其加速功能关闭。即便是在安装了最新的DirectX 9.0之后也不会自动打开加速功能,而必须手动设置。在“开始”→“运行”对话框中输入“dxdiag”以打开DirectX诊断工具。随后在显示一栏中将DirectDraw、Direct3D、AGP纹理加速功能启用。如此一来,Windows Server 2003便能运行各种3D游戏。除此以外,Windows Server 2003还默认关闭了硬件加速,你可以在显示属性的高级菜单中将其设置为完全加速。 2、关闭服务器向导 装完win 2003,你会发现“管理您的服务器”出现,把左下角的“登录时不要显示该页”勾上。如果你在开机时找不到,可以进入控制面板-管理工具-管理你的服务器中找到 3、开启硬件加速 桌面点击右键,进入属性-设置-高级-疑难解答,开启完全的硬件加速,这时会出现黑屏,然后回复正常。 4、声音加速 开始-运行-输入dxdiag-声音,把“声音的硬件加速级别”拉到“完全加速”。 6、提高系统性能 右键点击“我的电脑”图标,进入属性-高级-性能-设置,调整为最佳性能。 7、加速任务栏 除了将“任务栏保持在其它窗口的前端”其它全部去掉,原因如下: 自动隐藏任务栏:避免找不到任务栏,而且占用系统分组相似 任务栏按钮:程序过于集中,很难找到 显示时钟:有钟就无须用时钟 隐藏不活动图标:不知道现在使用了那些应用程序 8、提高桌面显示速度 右键点击桌面进入显示属性,把桌面墙纸和屏幕保护都关掉,在外观-效果中,把所有勾去掉。 9、资源管理器提速 在资源管理器或我的电脑上,选择工具-文件夹选项-常规,选择“使用windows传统风格的文件夹”。 把“隐藏受保护的操作系统文件”和“隐藏己知文件类型的扩展名”之外所有的选项都去掉。特别是“记住每个文件夹的视图设置”、“鼠标指向文件夹和桌面项时显示提示信息”、“在文件夹提示中显示文件大小信息”这几项关掉,去掉个性化设置。 第三是资源管理器的优化,查看中使用“列表”形式,以最小的图标和信息显示内容。在工具栏菜单中,把标准按钮和链接都去掉,这些功能全部通过快捷键可以实现,多留无益。 10、关掉系统桌面图标 在桌面上按右键,选择排列图标,去掉显示桌面图标的勾,关掉所有图标,节省大量资源。 11、IE的优化 IE的界面优化基本和资源管理器相同,都是尽可能减少功能条,只留下地址栏。不过,在工具-Internet选项中就有许多好玩东西了。 常规-可以更改的主页用空白页,开启时无须载入任何网页,速度快 高级-多媒体,去掉“启用自动图像大小调整”,直接显示整幅图像,减少IE的工作量。 浏览,去掉“启用脱机项目按计划同步”,在宽带包月如此流行的今天,脱机还有什么用? 去掉“使用平滑滚动”,让左边的导航条,按照正常的page up/down方式快速翻页。 去掉“下载完成后发出通知”,download完就算还通知什么,多此一举。 去掉“在地址栏中显示转到按钮”,转到的网址我们都没多大用处。 去掉“自动检查Internet Explorer更新”,手动更新永远比自动更新要快,而且无须让IE经常留意是否需要更新。 14、优化系统启动项 有部分应用程序在启动时没有通过启动菜单载入,而是直接通过注册表运行,对于这部分程序,我们可以在开始-运行,输入msconfig,在启动中找出没有用的选项


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/254246.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-15
下一篇2023-04-15

发表评论

登录后才能评论

评论列表(0条)

    保存