我的页面中有一个用户控件,位于更新面板内。通过使用用户控件我正在为用户显示一条消息。我需要每5分钟更改一次消息。消息存储在数据库中并且用户控件将每隔5分钟自动从数据库中检索一次消息。 我的问题是,当有超过50个用户访问同一页面时,然后每5分钟,请求从每个客户端自动发送到服务器,这会降低服务器性能。 那么任何人都可以帮我解决这个性能问题。
答案 0 :(得分:5)
利用UI层中的Cache对象加载不同的文本。只在需要时才在第一次请求时加载它。
我的页面中有一个用户控件,位于更新面板
中
尝试摆脱updatepanel,因为它总是来回发送页面的完整视图状态。仅使用 ajax ,脚本,而不是与PageMethod或服务端点(.asmx或wcf)结合使用。
还要衡量事情进展缓慢的地方。我喜欢使用像YSlow和Sql Profiler这样的工具进行测量。 ASP.NET还具有跟踪功能,您可以在web.config中打开/关闭它。
答案 1 :(得分:4)
对服务器的请求将始终耗尽资源。这是生活中的事实。
您没有说哪个服务器存在性能问题,但如果数据库中的消息是静态的,那么为什么不将它加载到应用程序服务器上的缓存中,以便每个客户端都不发出请求到数据库?
答案 2 :(得分:3)
您需要到profile your application才能找到性能瓶颈。
Seriously! 其他任何事情只是猜测。
即使它不在列表的首位,我也推荐EQATEC Profiler。
<强>更新强>
我想我会指出,对于ASP.NET来说,50个并发用户应该没问题。
MySpace runs on ASP.NET拥有230万并发用户,每天处理15亿次页面浏览量。