自贡管系统的服务器选型前高峰期卡死怎么办
自贡沿滩区有一家做节能环保设备生产的工厂叫绿能装备他们用了一套ERP系统来管理生产采购库存财务这些业务平时十来个人用着还行但是每到月底月初做财务结算和报表的时候系统就变得特别慢有时候录入一张单子要等十几秒甚至更久导出一个报表要等好几分钟财务部的两个小姐姐每次月底都加班到很晚不是因为工作量大是因为系统太慢了等得人心焦气躁。厂长吴哥找了好几次软件供应商来优化但是效果都不明显后来才知道问题不完全在软件上而是在服务器配置跟不上业务增长的需求了。
管理系统卡死的根因分析
吴哥的ERP系统卡顿问题我帮他做了个全面排查发现原因其实是多方面的第一个原因是服务器配置不足他们这套ERP是五年前买的当时公司只有三十来个人用现在发展到八十多人了数据量翻了五六倍但是服务器还是原来那台老旧的配置两核四G内存机械硬盘这种配置跑现在的数据量肯定是捉襟见肘的。第二个原因是数据库没有做优化五年下来积累了大量的历史数据但是从来没有做过归档和清理很多查询语句还在全表扫描几百万行的数据表不慢才怪了。
第三个原因是网络瓶颈他们的办公室和生产车间用的是同一个局域网但是车间里的设备传感器数据采集每秒钟都在往服务器传数据占了大量带宽导致办公端的请求排队等待。第四个原因是并发冲突月底大家都集中用系统做单据做报表同时在线人数从平时的十来个飙升到三十多个很多操作都在抢同一个数据库锁资源互相等待就形成了死锁或者长时间阻塞。
服务器升级和系统优化方案
针对吴哥的情况我给了一套组合方案分短期中期长期三步走短期方案是不换服务器先做优化第一是把数据库里的历史数据做归档把三年前的订单记录和出入库记录迁移到冷存储库里只保留近三年的热数据这一下就能把核心数据表的行数减少百分之六十到七十查询速度能提升好几倍。第二是给数据库加索引对常用的查询字段建立合适的索引这个操作很简单但是效果立竿见影有些慢查询能从十几秒降到零点几秒第三是调整应用层的缓存策略把一些不常变的基础数据比如产品信息部门信息客户列表这些缓存到内存里减少数据库读取。
中期方案是升级服务器硬件把原来的两核四G升级到八核十六G内存把机械硬盘换成SSD固态硬盘这个升级花费大概一年多几千块钱但是性能提升非常明显特别是随机读写场景下SSD比机械硬盘快几十倍到上百倍。长期方案是做架构拆分把ERP系统里面的不同模块拆分到不同的服务器上去比如财务模块独占一台服务器生产模块独占一台通过接口互通这样互不影响还可以考虑加一层负载均衡和读写分离应对更大的并发量。
总结
总之管理系统卡顿这个问题在自贡的传统制造业企业里面真的太普遍了很多人以为是软件不好用其实很多时候是基础设施跟不上业务发展了。如果你也在为系统慢的问题烦恼我建议你不要急着换软件先从服务器配置和数据库优化这两个方面入手往往花小钱就能解决大问题如果这两步做了还不行再考虑软件层面的优化或者替换也不迟。