首页 新闻 会员 周边

如何在虚拟主机上构建高性能系统?

0
悬赏园豆:100 [已关闭问题]

初步需求:我们有一个合作伙伴为我们提供一些数据,合作伙伴在互联网上已部署好了一台服务器,服务器对我们提供相应的Web Service服务,我们也只能通过Web Service来获取数据。当我们做完这个系统以后,需要把我们自己的系统放在虚拟主机上运行,然后我们的客户通过互联网访问我们的系统。

我们是中小企业,资金有限,老总不愿投资也不关心此系统,只是一句说话推下来我必须给包了。惨啊

问题:由于特殊原因,我们的系统必须也只能使用虚拟主机来运行,而虚拟主机环境是运行.net3.5 提供300M网站空间和可怜的20M数据库,IIS并发150。在我们公司订购的用户通过我们这个网站提供信息查询服务。同时访问我们系统的在200~300人左右,最高不超过500.

我们的系统是这样的,根据用户在我们这订购的信息,我们再通过Web Service从合作伙伴服务器获取数据,放在我们系统(虚拟主机),但现在问题是我获取的数据放在网站空间(生成文件),还是放在数据库好呢,由于需要访问大量Web Service,所以我们定在每日00:30后开始访问互联网服务器更新数据。

一个用户的数据量包括几百条产品信息,几百到几千条销售信息。用户所有这些数据都是累加的,用户每日的数据都不一样。

 

在虚拟主机条件不变的情况下,如何才能构建一个好的平台为用户提供服务呢?为每个用户生成静态网页可以减低IIS的需求吗,数据生成静态HTML保存在网站空间还是数据库呢,毕竟虚拟主机上的网站空间比数据库便宜。互联网用户数也不会有大变动,就是那些人了。

如确实必须不得不,只能申请增加数据库或网站空间。情况大概像下图描述

问题补充: 我们每日00:30更新一次数据,然后给用户查询信息。因为通过Web Service查询互联网服务器非常费时间,特别是大量用户同时发起查询时。所以我们获取数据后保存在本地(虚拟主机),让用户看。
咖啡的回忆的主页 咖啡的回忆 | 初学一级 | 园豆:44
提问于:2009-05-31 20:11
< >
分享
其他回答(1)
0

生成静态HTML肯定要好很多,不过如果你的用户需要动态查询,就比较麻烦。是不是可以每个用户生成一个静态HTML,将数据也放到这个HTML中,然后通过Javascript在用户的本机进行查询,这样用户每天只需要加载一次HTML页面就可以了,之后对IIS的压力很小,因为浏览器对静态页面都有缓存。

eaglet | 园豆:17139 (专家六级) | 2009-06-01 07:52
0

(1) Web Service 可以 缓存 (Cache),若不常更新内容的 WS 数据,可用内存替代访问数据库。
(2) Web Service 可以用异步 (Asynchronous) 调用,只要小改一点代码即可。用户在调用此 WS 时,浏览器不会被锁住等待 WS 服务器响应。
(3) 改用 WCF。为了解决 XML 和传统 Web Service 传输时的性能问题,WCF 可将 XML 用二进制的方式编码。
(4) 不要用虚拟主机。

WizardWu | 园豆:1402 (小虾三级) | 2009-06-01 08:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册