系统是用Delphi开发C/S模式的ERP系统,数据库是SQL2005,目前数据库大约12G,客户端在100-130个左右。
服务器配置情况:HP ML350 G5
CPU:至强5120(双核)*2
内存:2G*2
硬盘:3个scsi硬盘(80G)做RAID5目前系统运行速度相当慢,查询十几条数据就要等将近一分钟,如查询整月数据(大概有上千条或几千条记录)则需要十几分钟。提交单据的速度也差不多是这么慢。已到了无法忍受的程度。附服务器性能日志:磁盘已经是整天满负荷运转。
附设备管理器
初步判定:一、磁盘读写速度是瓶颈
二、ERP系统自身的原因,但由于系统是公司自己开发,当初的开发人员大都离开了,没人能提供技术支持,优化系统已无可能。看来只能想办法提高硬件性能了! 最近刚升级过阵列卡(设备管理器上可看到),但也没什么效果。
如果再加3块硬盘(共6块硬盘)组RAID5,或者6块硬盘做RAID0+1,能不能大幅度提高磁盘的读写速度?
RAID5 与 RAID0+1 哪个效率更高一点呢?
如果采购新服务器什么配置比较合适?或者还有什么其他方法?请各位帮帮忙!!! 谢谢!
服务器配置情况:HP ML350 G5
CPU:至强5120(双核)*2
内存:2G*2
硬盘:3个scsi硬盘(80G)做RAID5目前系统运行速度相当慢,查询十几条数据就要等将近一分钟,如查询整月数据(大概有上千条或几千条记录)则需要十几分钟。提交单据的速度也差不多是这么慢。已到了无法忍受的程度。附服务器性能日志:磁盘已经是整天满负荷运转。
附设备管理器
初步判定:一、磁盘读写速度是瓶颈
二、ERP系统自身的原因,但由于系统是公司自己开发,当初的开发人员大都离开了,没人能提供技术支持,优化系统已无可能。看来只能想办法提高硬件性能了! 最近刚升级过阵列卡(设备管理器上可看到),但也没什么效果。
如果再加3块硬盘(共6块硬盘)组RAID5,或者6块硬盘做RAID0+1,能不能大幅度提高磁盘的读写速度?
RAID5 与 RAID0+1 哪个效率更高一点呢?
如果采购新服务器什么配置比较合适?或者还有什么其他方法?请各位帮帮忙!!! 谢谢!
解决方案 »
- 菜菜在这里来问:关于时间的模糊检索
- 大家帮忙看一下这条语句的问题
- 如何统计数目??????????????????
- SQL数据库权限问题
- 50分求一条简单的sql语句,紧急!!!!!!
- SQL2005怎么实现可以查看一天之类增加,修改,删除了哪些数据
- 谁能够告诉我这样一句教本作用???SELECT 'Index Name' = i.name, 'Statistics Date' = STATS_DATE(i.id, i.indid) FROM sysobjects o, s
- 请问如何把SYBASE的数据导入SQL2000的数据库中...........
- 想了解一下网站数据库的设计问题
- 如何搜索n条记录的语句
- SQL 计算问题!!!相当奇怪
- sql问题
http://hi.baidu.com/sunburst_707/album/item/503a5d7f49a846b60bd187f2.html#IMG=503a5d7f49a846b60bd187f2设备管理器截图链接:
http://hi.baidu.com/sunburst_707/album/item/503a5d7f49a846b60bd187f2.html#IMG=503a5d7f49a846b60bd187f2不会发图··
另,操作系统是windows2003 32位,不知道能不能换成64位的?不知道对ERP系统和sql有何影响?如何建立多个读数据库?能否详细说明呵呵 本人菜鸟一个!
我也曾多次遇到SQL 速度慢的问题!--首先从两个方面:
1\分析是硬件的问题,比如内存经常在90%,CPU经常在80%以上,建议加硬件了.提升硬件速度.加内存,内存够的话对整个磁盘的读写能力会减轻很多.我们公司以前的内存是4G,现在升级为64位,可以用16G,速度大幅度提高,但有时也会出现慢,只是有时锁的问题...
硬盘建议用RAID0+1,现在的硬盘又不贵.数据库一般都建议用RAID10.一是安全,二是速度.都比较有保障.2\软件方面:
检测耗用内存,CPU最多的语句或过程,进行跟踪优化,SQL2005中有一个表sys.dm_exec_query_stats可以看到.当然也可以根据Read80Trace程序进行统计跟踪.(比如一个小时的跟踪查看耗用资源最多的语句).
根据这些信息再来优化数据,如:加索引,分区表,....优化语句啊.
总结:以前听过一句话, 数据库慢的80%的因素是SQL语句.所以把SQL语句优化好对速度提高很快的
当然加硬件也可以的
A. 按平均 CPU 时间排在前五个的查询
此方案提供有关 CPU 时间、IO 读写以及按平均 CPU 时间排在前五个查询的执行次数的信息。
SELECT TOP 5
total_worker_time/execution_count AS [Avg CPU Time],
(SELECT SUBSTRING(text,statement_start_offset/2,(CASE WHEN statement_end_offset = -1 then LEN(CONVERT(nvarchar(max), text)) * 2 ELSE statement_end_offset end -statement_start_offset)/2) FROM sys.dm_exec_sql_text(sql_handle)) AS query_text
FROM sys.dm_exec_query_stats
ORDER BY [Avg CPU Time] DESC
以上拙见...
http://hi.baidu.com/sunburst_707/album/item/a872b0153ecf3484a6ef3f72.html
一、5块硬盘组RAID0 ,剩下一块硬盘单独做备份。
二、6块硬盘做RAID5。
三、6块硬盘做RAID10。如果只在二和三中选,哪个比较读写效率高?
我这菜鸟水平,要优化索引和sql语句没10天半个月的搞不定啊。
日志和数据库文件分开是指放到不同的分区下吗?
由於個系統是供應商完全支援的,所以不能直接更改數據庫任何對象!!!-----郁悶中最後考慮用上了固態硬盤SSD,一切問題就得到迎刃而解,
因為固態硬件的性能是普通硬件的好幾倍。(SSD讀能力的速凍至少是傳統硬盤的4倍以上)若經濟能力允許,全部置換Intel固態硬盤(Raid 0+1)不失為一個好的解決方案,希望該建議對閣下有用拉 ^_^
这样加的:一块72G硬盘做系统,新购的6块146G硬盘做 RAID 1+0 专门放数据库用。做完后用HD_speed测速度,大概450M,比原来(200M)快了不少。 但系统运行速度依然没有什么改善。后来同事帮忙把数据库备份一下,删掉一年以前的数据,系统运行速度终于大幅提高了。看来就是SQL语句效率太低的问题了,数据量小时不明显,几年后数据量一大就完蛋了,以后要重点学习了。
这办法就是麻烦了点,要查一年以前的数据还得再架个服务器进入另外一个系统。另外书库中表太多,误删数据在所难免。删完数据后速度是快了,也出现不少异常问题。感谢各位热心帮助!