我知道这种问题已经有人问过了(如果 SQL Server 在一台服务器上而网站在另一台服务器上,而不是两者都在同一台服务器上,速度会有所不同),不知道是否适合我的情况。
目前的情况:
我有一台专用服务器(Corei5 3.6ghz,4 核,无 HT,32 GB 内存,120go ssd + 1TB hdd),我几乎将网站运行所需的所有东西(IIS、SQL 服务器、邮件服务器、Redis 缓存)都托管在服务器上。选择将它们全部放在一起,首先是为了尽量降低成本。
该网站目前产生大量流量(网站每天约有 9000 万个请求),并且数据库也承受着压力(平均每秒 1500 个请求)。
我当然已经考虑过将这两者分开。CPU 活动相当高(通常在 70% 到 80% 之间)。
我的主要问题是:我担心拥有 2 台服务器会带来的问题,尤其是在性能方面。
通常建议分开,但考虑到对数据库的请求数量,情况也是如此吗?我特别担心两台服务器之间的网络延迟,因为我无法真正控制它。
如此大量的 SQL 请求,网络延迟和带宽会不会成为问题?我的托管服务提供商的服务器之间的 ping 时间低于 2ms。带宽为 100mb/s。
您认为将它们分开是个好主意吗?
谢谢,
答案1
在担心下一个瓶颈之前,你需要先找出当前的瓶颈是什么。
您的问题听起来好像您遇到了性能问题。
但我没有看到任何实际数字来支持这一点。
监控当前服务器:
- 中央处理器
- 记忆
- 磁盘使用情况
- 网络延迟
你应该关注一般统计数据,SQL Server 特定计数器。。
如果您认为添加第二台具有网络连接的服务器所带来的额外延迟可能是一个问题尝试测试一下。
模拟具有较高网络延迟的环境,并进行负载测试以查看性能影响是否可衡量/是否值得关注。
完成所有这些操作后,您就可以绝对肯定地得到答案。
但我敢打赌,您会发现将 SQL Server 托管在专用机器上可以获得更好的性能。SQL
Server 与 IIS 服务器争用内存和 CPU 并导致性能不佳的可能性更大。除非您将服务器托管在相距很远且连接不良的地方,否则网络连接会导致延迟问题。