公司 ERP sql server 2005 内存使用率偏高

2017-07-23 21:01:34 +08:00
 futurejunjie
我在一家小公司,最近把公司 ERP 系统迁移到云上了,软件商告诉我们最好 4C8G,软件是.net+sql server 2005,部署上去后发现 CPU 占用非常低,利用率不到 5%,但是内存使用率很高,现在已经到达 6G 了,最开始我是准备买个 2C4G 的部署,软件商告知可能内存不够。
公司的 ERP 用的快普,福建的一家公司,之前我也没听过,大概 20 多个人使用,不知道为什么现在数据库文件已经都接近 6G 了,好像才用了两三年吧,就是一些销售订单、采购订单、费用单、入库出库单这些,还有库存管理、客户管理,然后工作报告啥的也都整合在里面,不知道怎么评估这个软件到底需要多大的内存。
在网上说查询一下
SELECT COUNT(*) * 8 / 1024 AS 'Cached Size (MB)',
CASE database_id
WHEN 32767 THEN 'ResourceDb'
ELSE DB_NAME(database_id)
END AS 'Database'
FROM sys.dm_os_buffer_descriptors
GROUP BY DB_NAME(database_id), database_id
ORDER BY 'Cached Size (MB)' DESC
结果显示 软件商 的数据库 内存缓存才 1G,不知道是不是没有限制 SQL 最大内存,看网上说如果不限制 SQL 内存就会将用到物理内存的 70%做缓存啥的,因为人使用的不多,然后如果能缩小内存配置的话云服务器价格相对也便宜一些,资源不浪费,每次在重启云服务器后内存的利用率就只有 2-3G 了,然后隔不了几个小时就到 6G 左右了。
2982 次点击
所在节点    问与答
23 条回复
anyele
2017-07-23 22:50:55 +08:00
建议用 Sqlserver2016
akrf
2017-07-23 23:03:52 +08:00
5%还低,我司生产管理单核 CPU 平均使用率 0.3%
jarlyyn
2017-07-23 23:50:39 +08:00
。。。。。
先不说 6g 内存的要求我觉得还不算太过分。

把 erp 迁移到云上什么鬼?

业务数据就直接丢网上了?

心有点宽了把?
xenme
2017-07-24 00:01:19 +08:00
看看那些进程内存使用高,是否程序有内存泄漏
futurejunjie
2017-07-24 07:25:48 +08:00
@anyele 软件商说最高支持 2008,还有一个不是说版本越高配置要求越高吗?我昨晚把最大内存调整为 2560 看看效果,不知道会不会有什么后遗症。
futurejunjie
2017-07-24 07:27:03 +08:00
@akrf 其实也没有 5%,我看了一下就是在查询的时候 cpu 占用率会达到 10%左右,是不是配置要求根本就没软件商说的那么吓人?
futurejunjie
2017-07-24 07:28:09 +08:00
@xenme 只看任务管理器里看不出来非常高的应用,但是我这台服务器就装了 iis 和这个系统,没别的东西,就怀疑是 sql server 在吃内存。
futurejunjie
2017-07-24 07:31:42 +08:00
@jarlyyn 因人而异吧,如果云商真要是获取用户数据的话不止我们一家,并且我们几十个人的小公司,我们放本地的时候中了勒索病毒,然后公司用的是 pppoe 用花生壳代理的,不是很稳定,如果硬盘挂了或者服务器宕机了会很麻烦,所以就直接上了云。感谢老哥提醒,不知道老哥哥是不是有遇到数据泄露?
zjgsamuel
2017-07-24 07:44:00 +08:00
和 MS SQL 数据库有关 这个版本的 SQL Server 缓冲池 要把内存资源全部占用的~ 也可以手工更改内存占用 但是一般我不去设置 就这样随它吧~
futurejunjie
2017-07-24 07:49:35 +08:00
@zjgsamuel 这样啊,那一台 4g 的内存云服务器能不能接受 30 个人同时访问 erp 呢?我昨晚强行把 sql 最大内存改为 2560m 了,因为 4c8g 价格差不多是 2c4g 的一倍,还不如把带宽增大,因为我想着 30 多个人,还不是同时访问 erp,8g 有点浪费,当然这纯属个人瞎想。现在带宽是 2m 的,我想着把 2m 升级为 5m,内存不要那么大。
ebony0319
2017-07-24 07:54:35 +08:00
只是缓存内存地址没有释放而已。这样更快一点。如果一直占用手动释放即可。
zjgsamuel
2017-07-24 07:58:36 +08:00
@futurejunjie #10 至于访问能不能接受需要你再详细测试一下 看看瓶颈在哪里~ 个人认为 4G 的应该够用了~
futurejunjie
2017-07-24 08:00:30 +08:00
@ebony0319 手动释放就是直接重启 sql 服务吧?我每次重启后内存会直线下降,没多久就飙起来了,因为我现在存放数据库的盘是 sas 盘,想着直接用磁盘 io,减少内存占用不知是否可行。
futurejunjie
2017-07-24 08:02:32 +08:00
@zjgsamuel 嗯,我也想监测,但是不知道该怎么操作,尴尬。
sagaxu
2017-07-24 08:02:47 +08:00
这种系统别做太烂的话,4G 内存该够上百人同时用了
ebony0319
2017-07-24 08:07:33 +08:00
@futurejunjie 不是重启了。扎心了,老铁。
zjgsamuel
2017-07-24 08:17:06 +08:00
@futurejunjie #14 貌似每个人对 访问速度接受的标准还不能统一呢~
这么测试吧
- 服务器不作内存设定,保持初始设置
- 在 ERP 系统里头 连接数据库,然后 访问、存储一个数据比较多的表 比如说物料表,看看访问速度咋样?
这个涉及到 ERP 厂商对数据表的优化啥的,必要的时候可以联系厂商的技术 一起测试这个问题~
- 用 MS SQL 自带的客户端,自己建个测试数据库 建立大的数据测试表, 查询一下,看看速度怎么样,做好测试表的优化,比如说 索引啥的
- 发现你有提到说 IIS 是给 ERP 的 Web 访问的么? 这种情况 可以考虑 应用服务器和 数据服务器分开,开 2 个虚拟机(2C4G) 一个专门做 Web 访问 , 一个专门做数据,我觉得这样的构架稍微好一些~
jjx
2017-07-24 08:20:41 +08:00
程序设计问题而已, 如果想换可联系我, 哈哈
futurejunjie
2017-07-24 08:37:54 +08:00
@sagaxu 好的,感谢参考。
futurejunjie
2017-07-24 08:38:11 +08:00
@jjx 哈哈。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/377396

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX