如何提高订票页面的性能

gongshan 2011-08-12 05:27:51
我近来做了一个订票系统(ASP.NET C# SQLSERVER),一个关键页面(Order.aspx)就是以网格的形式显示30部电影,你可以点某部电影对应的【订票】按钮,那这部电影对应的“已售出票量”就自动加1。
结果上线测试,如果200人同时订票,服务器就慢得不行,基本瘫痪。但服务器是不可能换的,我只能优化程序,有经验的朋友帮我看看以下几种方案哪个在技术上可行。
1、方案一:在Order.aspx中显示30部电影的网格位置放一个特殊符号,每次开始启动订票前,管理员点一个按钮,从数据库中把这30部电影的信息写到特殊符号位置。这就相当于“动态转静态”,只不过不是生成HTML页面,而是修改了ASPX页面。包括每个电影对应的【订票】按钮也是直接写到Order.aspx,按钮事件使用AJAX技术。
2、方案二:使用缓存技术,把这30部电影的信息放在服务器缓存中,Order.aspx读取缓存形成网格。有个问题,我想每隔2秒就更新一下缓存,因为我想更新订票信息,那从哪里出发这个更新事件呢。
抱歉本人这段时间长期加班已经思绪混乱了,说的也不太明白,真对这种情况您有什么好的办法请指教。万分感谢。
注:30部电影在订票过程中,除了已售出票量,其它信息是不变的,也就是说不用时时刷新电影信息。我的程序慢的一个原因,就是每次刷新页面都从数据库中提取一遍电影信息,那能不慢嘛。
...全文
109 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
huayy 2011-08-16
  • 打赏
  • 举报
回复
应该是程序有问题,200个人同时操作,一般SQL SERVER问题都不大。
建议贴代码。
一休宗纯 2011-08-14
  • 打赏
  • 举报
回复
楼主跑了.
dalmeeme 2011-08-14
  • 打赏
  • 举报
回复
你的电影名称每天变化的次数不会很多吧?建议生成静态页面,用普通的表单提交方式,提交到一般处理程序xxx.ashx。另外静态页面中的动态数据可以集中一下,用一个iframe嵌套动态页面,此动态页面中的控件和动态数据要尽可能少,从而提高性能。
lw8601100 2011-08-14
  • 打赏
  • 举报
回复
用ajax

你有数据在不停的变动,用缓存有何意义
Q952891241 2011-08-13
  • 打赏
  • 举报
回复
1.网页代码里显示静态的电影信息(不包括余票)和一段ajax的代码,这样就可以内存缓存或用html页缓存。
2.这段ajax从后台把30部电影的余票数读取出来,并显示到每个电影名字的边上。并且每N秒执行一次ajax
在服务端,把你的执行结果也用内存缓存N秒(在N秒内,所有用户都得到同一个结果)
3.用户点订票时,用ajax提交到后台更新数据库
~~包你速度会满意了~~~
子夜__ 2011-08-13
  • 打赏
  • 举报
回复
你把方案1 和方案2 整合到一起。
ldk 2011-08-12
  • 打赏
  • 举报
回复
用AJAX试一下,一个人点了订票的时候,只写一次数据库,然后在客户端上操作
ldk 2011-08-12
  • 打赏
  • 举报
回复
你现在做的是不是一个人点了一下订票,然后整个页面就刷新一次?
一休宗纯 2011-08-12
  • 打赏
  • 举报
回复
你是只需要知道还余下多少票?还是要记录所有的座位信息,比如说,第几排第几号有票?
比如说,如果甲和乙同时订了同一个位置呢?

其它的信息,应该可以静态化。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧