灾难:正式数据库和测试测试数据库在一台服务器

曾经看到很多人喜欢将测试数据库和正式数据库放到一台服务器上,认为这样可以节省资源。虽然正式和测试分成两个实例配置,安全性上不会有问题,但是性能和维护上会有很多问题。

1. 维护:一般来说测试服务器不需要什么高可用性,测试需要停机就可以停机,不需要跟用户去做沟通。但是对于正式服务器都是有业务在跑的,而且有SLA的限制,不能说停就停。所以放到一起,测试服务器就失去了灵活性。

2.性能:对于SQL Server我们可以从配置上限制CPU,内存,但是无法限制IO(除非你将测试和正式的数据库放到不同的物理磁盘,这样可以将IO分开,如果放到同一个磁盘的话就无法做到IO限制),这个是很致命的。曾经遇到过一次事故,当时我刚进公司,对数据库还不是很熟悉。接到电话说有个应用程序反应很慢。当时想登陆服务器查看一下资源利用率,结果一直登陆不进去。后来 登陆到SQL Server查询发现生一堆的等待,阻塞,根本原因都是IO。后来发现这台服务器上边竟然还有另外一个实例,大量的应用在跑。打电话给开发说确认他们正在测试。就是因为这样的一个测试,导致了正式环境和测试环境资源竞争出了问题。 后来果断将测试实例停掉,一分钟后正式环境恢复正常。下面就是花一点时间将测试实例移走。

所以一定要将正式服务器和测试服务器分开。一个测试服务器上边可以装多个测试实例。

你可能感兴趣的:(数据库)