在不触及代码的情况下提高单线程旧.NET 1.1代码的性能

时间:2016-04-08 01:33:42

标签: .net performance iis asp.net-1.1

我们有一个非常古老的Web服务,由调度程序服务调用。我们设法从中获得的最佳性能是300毫秒,因此调度程序可以每秒调用3次。我们现在正在经历更高的负载,因此我们需要加快Web服务。

Web服务的作用是获取一个庞大的xml并将其保存到一个设计糟糕的数据库中的许多表中。它是用.NET 1.0编写的,我们无法重新编译这段代码!

我们将重新设计并重新编写此代码,以便更好地使用不可触摸的底层数据库,但目前我们需要尽快加速此Web服务。

我的问题是,可以对Windows,IIS,.NET运行时等做些什么来获得更好的.NET 1.1 ASP.NET页面吞吐量? (不涉及代码)

2 个答案:

答案 0 :(得分:0)

你可以做很多调整来帮助IIS的性能,但在这种情况下它们都可能没用。

查看this文章,但它仍旧适用。我可能会去看一个网络花园。有些情况下你不应该使用一个虽然先做一些研究。确保盒子硬件没有达到极限,如果RAM和CPU正在抨击你改变的任何设置可能会使它变得更糟。

答案 1 :(得分:0)

澄清一下 - 你的确计划'触摸代码' - 但是网络服务,而不是数据库?

XML文档是否以稳定,一致的速度发展,或者您的活动时间是否增加?

如果问题是您无法足够快地存储XML文档,一种方法可能是将XML存储在XML数据类型列中的自己的表中,然后具有单独的服务或进程从该表读取并执行插入。这样,Web服务只接收XML并返回一个响应,指示XML已收到并且速度很快。如果插入缓慢但插入过程可能会稍微落后,但它可以在较慢的时间内赶上。