Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql ASP.NET2,IIS 8上的经典管道64位可扩展性问题_Mysql_Asp.net_Iis_Scalability - Fatal编程技术网

Mysql ASP.NET2,IIS 8上的经典管道64位可扩展性问题

Mysql ASP.NET2,IIS 8上的经典管道64位可扩展性问题,mysql,asp.net,iis,scalability,Mysql,Asp.net,Iis,Scalability,我为这个问题的一般性道歉——我只是希望有人能提供一些建议和/或想法,因为我两者都不懂 背景: 我们运营着一个相当大的网站(每月点击量3500万次,峰值约170次连接/秒),该网站提供免费软件下载(严格合法),并使用ASP.NET2(VB.NET:()。我们有2台web服务器,位于专用硬件负载均衡器后面,两台服务器都是相当笨重的机器,Windows Server 2012 Pro 64位和IIS 8。我们通过使用自定义404页面提供无扩展URL,该页面解析请求的URL和服务器。适当传输。由于此特定

我为这个问题的一般性道歉——我只是希望有人能提供一些建议和/或想法,因为我两者都不懂

背景: 我们运营着一个相当大的网站(每月点击量3500万次,峰值约170次连接/秒),该网站提供免费软件下载(严格合法),并使用ASP.NET2(VB.NET:()。我们有2台web服务器,位于专用硬件负载均衡器后面,两台服务器都是相当笨重的机器,Windows Server 2012 Pro 64位和IIS 8。我们通过使用自定义404页面提供无扩展URL,该页面解析请求的URL和服务器。适当传输。由于此特定组件,我们必须在classic p中运行管线模式。 在数据库方面,我们使用MySQL,有两个复制的数据库,读取主要从从机完成。数据库访问通过DevArt库进行,并被广泛缓存

问题是:
我们最近(过去几个月)从运行Windows2003Server和IIS6的旧服务器迁移过来。在此过程中,我们还升级了Devart组件和MySql(5.1)。从那以后,我们遇到了间歇性的可伸缩性问题,随着我们添加了更多内容,问题变得更加严重。我们最近将程序数量从2000个增加到了4000个,这导致响应时间从增加。猜测解决方案不是一个好主意。事情可能会很快变得痛苦或昂贵。你是说lly应该从一些标准/常用的分类技术开始,并做出明智的决定

解决数据驱动应用程序性能问题的标准流程如下:

  • 检查数据库索引(不太可能),并根据需要进行调整
  • 检查资源利用率:CPU、RAM。如果CPU被加满,则考虑添加/升级CPU或优化代码或拆分你的层。如果你的RAM被删了,然后考虑添加RAM或拆分你的层。我意识到你刚买了新的硬件,但是你也改变了OS和IIS。所以,所有的赌注都被关闭了。用10分钟来确认。至少,您有足够的CPU和RAM,因此您可以自信地从列表中删除它们
  • 检查HDD使用情况:如果队列长度经常超过1(每10秒超过一次),请升级磁盘带宽或扩展磁盘(RAID、多个MDF/LDF、DB分区)。在每个MySql框上检查此项
  • 检查网络带宽(不太可能,但无论如何都要检查)
  • 代码:A)考虑升级到.NET 3.5(或以上)。它是为更好的可伸缩性而设计的,并且有更好的缓存选项。b) 使用更新/改进的缓存。c) 针对苛刻的查询和数据库使用情况,选择代码。我对RedGate Ants有很好的经验,但同等产品也很好用 然后,您的体系结构、代码和平台会变得更加具体

    应用程序变量也有一些锁定机制,但它们很少是锁定的原因


    您可能需要关注您的池回收统计数据。如果您有内存泄漏(或连接泄漏等),则当池加满并重新启动时,IIS可能会冻结。

    感谢您的评论,它们肯定是有意义的-第1-4点已经讨论过,但绝对值得再次尝试!重新使用探查器-您如何看待在生产服务器上使用ANTS?到目前为止,我们仅限于开发/登台,但没有什么好处。作为最后的手段,我只在生产服务器上进行配置文件。您可以使用快照工具创建prod服务器的VM,并在VM主机(VPC或HyperV)上进行测试。(通常称为“暂存”服务器)。对于任何其他层都是一样的。当然,除非您使用WCAT这样的流量生成器,否则很难确认争用问题。再次感谢,我们在本地使用了WCAT,但同样没有什么好处-看起来我们将在prod服务器上尝试更多本地负载和WinDbg。