所以我正在迁移服务器,但无法找出新机器/环境比旧机器慢的原因。以下是事实。
旧机器 2008 R2 - 3.1ghz四核Xeon w / 12gb SQL2k \ SQL 2008 IIS 7
新机器 2012 R2 - 2.5ghz 8核Opteron,16GB SQL2k \ SQL 2008 \ SQL 2016 IIS 8.5
所以这就是我所做的。我将代码库迁移到新机器上。我加载了SQL2k,我知道它不受支持,我打算升级。两台机器上的同一页面加载正常。旧机器在10秒内加载新机器需要124秒。
下一步是将数据库从2k转换为2016年到2008年。以相同的加载速度完成124秒。接下来将连接字符串从OLEDB更改为Native 11.这将加载时间从124降低到30秒。
接下来,我进入查询管理器并在两台计算机上运行SP。旧机器需要4秒才能完成查询。新机器在sql2k上运行相同的查询只需不到2秒,但在sql2016上,相同的查询运行时间不到一秒钟。然后我写了一个更密集的查询并在两台机器上运行它。旧机器花了120秒执行新机器在2016年花了12秒,在SQL2k花了大约25秒。
所以在这一点上我假设它是IIS设置。接下来,我去了安装了SQL 2016的旧机器,并将其加载到测试速度,新的数据库在IIS 7的旧服务器上运行。零差异。
我尝试过连接字符串更改,IP与NAME没有区别。
IIS 8.5中是否存在一些影响经典ASP性能或2012R2中我错过的设置?两台计算机上的所有应用程序池和站点都完全相同。
任何帮助都会很棒,谢谢
**添加的所有sql设置对于sql2k和sql2016以及IIS设置也是相同的。防火墙设置也一样。 .NET环境也一样。
**更改新机器是8核心而不是4
答案 0 :(得分:0)
核心人太多了。
有些问题 - 这是所有网站吗?所有的应用程序池?
Classic asp不是为8台核心机器编写的。在IIS 8.5中,您可以设置处理器关联和numa节点(内存)关联的设置。但是,只有在您运行单独的站点或应用程序池时才真正有用。但在查看任何一项之前,我会请你尝试一下实验。制作您网站的虚拟版,设置为使用4核和8 GB RAM。将两份副本部署到您的计算机上。测试其中一个页面。你可能会获得更好的表现。您也可以通过将站点设置为在两个工作进程(Web园配置)中运行并将每个进程绑定到一半核心来尝试不使用vms。
答案 1 :(得分:0)
尝试添加指向计算机名称的主机文件条目IP。我知道你在同一台机器上运行SQL服务器,但它仍然会与我的经验产生很大的不同。
正如@Brain建议的那样,网络花园会对高负荷有所帮助,但我认为你的问题只与连接速度有关。