V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
futurejunjie
V2EX  ›  问与答

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

  •  
  •   futurejunjie · 2017-07-23 21:01:34 +08:00 · 2996 次点击
    这是一个创建于 2713 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我在一家小公司,最近把公司 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 左右了。
    23 条回复    2017-07-24 12:04:09 +08:00
    anyele
        1
    anyele  
       2017-07-23 22:50:55 +08:00
    建议用 Sqlserver2016
    akrf
        2
    akrf  
       2017-07-23 23:03:52 +08:00 via Android
    5%还低,我司生产管理单核 CPU 平均使用率 0.3%
    jarlyyn
        3
    jarlyyn  
       2017-07-23 23:50:39 +08:00
    。。。。。
    先不说 6g 内存的要求我觉得还不算太过分。

    把 erp 迁移到云上什么鬼?

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

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

    一般不放云服务器上不是因为担心供应商拿数据,而是一般这样就是把服务器直接暴露在公网上。

    且不说每天不停扫端口的那群无聊的家伙。万一有哪天爆个 0day 出来就尴尬了。

    小公司又没固定 Ip,连限制 ip 访问也很难做到。
    futurejunjie
        23
    futurejunjie  
    OP
       2017-07-24 12:04:09 +08:00
    @levon 现在维持在 83%,差不多所有人已经做单搞起来了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2457 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 15:58 · PVG 23:58 · LAX 07:58 · JFK 10:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.