现在的位置: 首页 > 综合 > 正文

高性能Web开发技术”网上聊天活动

2013年10月08日 ⁄ 综合 ⁄ 共 5816字 ⁄ 字号 评论关闭

本期嘉宾:郭红俊(ghj1976,孟宪会(孟子E) ,刘如鸿(策划编辑)

聊天主题:高性能的Web应用程序开发

嘉宾[主持人]: 各位网友大家下午好!

欢迎大家到CSDN嘉宾聊天室。

[2004-10-21 13:39:00]

嘉宾[主持人]:

今天我们非常荣幸的请到了几位在Web开发方面非常有经验的嘉宾来CSDN聊天室作客。

[2004-10-21 13:48:00]

嘉宾[主持人]:

请大家在这次聊天活动中,尽量围绕关于Web开发技术方面的问题进行讨论,请不要涉及其他内容

[2004-10-21 13:49:00]

嘉宾[主持人]: 嘉宾介绍

先介绍一下今天来聊天室做客的嘉宾

[2004-10-21 13:51:00]

嘉宾[主持人]:

孟宪会:大名鼎鼎的“孟子E章”,CSDN上的顶尖人物,“江湖”一等一的高手。

[2004-10-21 13:51:00]

嘉宾[主持人]:

郭红俊(ghj1976:MS MVPCSDN论坛架构设计者和主力开发人员,擅长ASP.NETXML

[2004-10-21 13:52:00]

嘉宾[主持人]:

刘如鸿:《MSDN开发精选》策划编辑,擅长基于COM/COM+ASP.NET的企业应用,同时熟悉客户端脚本设计。同时也是这次聊天的主持人。

[2004-10-21 13:54:00]

嘉宾[主持人]: 聊天规则1

在聊天过程中,请不要谈论与本次聊天主题无关的话题

[2004-10-21 13:55:00]

嘉宾[主持人]: 聊天规则2

请各位网友将需要嘉宾解答的问题提交给现场的chengyancy

[2004-10-21 13:55:00]

嘉宾[主持人]:

我们的聊天马上就要开始了。

[2004-10-21 13:57:00]

嘉宾[主持人]:

再次声明,请大家在这里不要涉及一些与本次主题无关的话题!

[2004-10-21 14:01:00]嘉宾[刘如鸿]:

大家好,我是刘如鸿,目前是《MSDN开发精选》的策划编辑,主要擅长com/com+dotNet及其脚本开发

[2004-10-21 14:05:00]

嘉宾[孟宪会(孟子E)]:

欢迎大家光临“高性能的Web应用程序开发” 聊天室

[2004-10-21 14:07:00]

嘉宾[主持人]:

已经有嘉宾来了,请大家开始!

[2004-10-21 14:07:00]

嘉宾[刘如鸿]:

我们今天举办这个活动是希望有更多的人了解asp.net,孟子和郭红俊(ghj)都是csdn上的顶尖高手,这次有幸请到他们来作为我们的嘉宾

[2004-10-21 14:07:00]

嘉宾[郭红俊(ghj1976]:

欢迎大家来到聊天室,我的一些信息如下:

网名: ghj1976 蝈蝈俊.net

Blog: http://blog.joycode.com/ghj/

Email ghj1976@csdn.net

目前正在从事下一代CSDN技术社区的规划工作,对下一代技术社区有任何想法,都可以联系我。

[2004-10-21 14:08:00]

嘉宾[郭红俊(ghj1976]:

问:能否介绍一下CSDN论坛的架构设计?几次改版都在提高性能方面做了哪些工作?如何做的?效果如何?

答:目前 CSDN 论坛的架构,从性能来说,主要采用下面几个技术:

1、静态文件技术;

2、双缓存帖子列表技术;

3、应用逻辑数据库存储过程封装(这个技术由于受数据库服务器性能的限制,下一代会放弃这个技术)

[2004-10-21 14:10:00]

嘉宾[刘如鸿]:

问:aspasp.netC#有没有问题,整个框架老是搞不清楚,谢谢!

答:aspasp.net还是两个不同的框架,或者说运行环境还是有比较大的差距,总体来说asp是解释执行的服务器端技术,而asp.net则在托管环境下的Web应用解决方案

[2004-10-21 14:11:00]

嘉宾[刘如鸿]:

我想,高性能可以从如下几个方面考虑吧

1。响应速度

2。容载能力

3。系统的可扩展性

4。系统的弹性

[2004-10-21 14:13:00]

嘉宾[郭红俊(ghj1976]:

问:aspasp.netC#没有问题,整个框架老是搞不清楚,谢谢!

答:看来你架构方面的文章看的比较少, MSDN 专门有站点讲架构的。

http://msdn.microsoft.com/architecture/

另外,如果英文不是足够好,可以看《.NET系统架构与开发》这本书。不过这本书仅仅是翻译的一些MSDN上关于.net 架构方面的文章。 英语好的,就不要看了。这本书,翻译仍然不是足够好。

[2004-10-21 14:14:00]

嘉宾[刘如鸿]:

问:对海量数据型网站应如何处理?

答:缓存设计是一个非常重要的策略。另外需要根据具体的业务去做具体的实现的

[2004-10-21 14:16:00]

嘉宾[孟宪会(孟子E)]:

问:我一直不能理解XML在页面与Database之间如果起到很好的作用的?

答:两者之间本质上并没有什么关系,只是应用的时候才进行结合。

[2004-10-21 14:16:00]

嘉宾[郭红俊(ghj1976]:

问:在CSDN中静态文件技术怎么实现?

答:静态文件只是为了提高阅读速度,而不是保存数据,所以CSDN的静态文件是数据库内容的一个镜像,所以有时候,会发现有些不同步的问题。静态文件的更新,只是在需要的时候在更新。

[2004-10-21 14:16:00]

嘉宾[郭红俊(ghj1976]:

问:WEB的安全性如何,以及如何提高其速度?

答:安全性和速一般是矛盾的。衡量的标准就是看你要保密的东西有多大价值,如果发现价值不大,速度第一,安全第二,否则安全第一,数据第二。

[2004-10-21 14:18:00]

嘉宾[刘如鸿]:

问:.NET开发的Web应用比JAVA开发的Web应用好在哪里?

答:.NET开发相对于Java最大的优势还是在开发效率吧,毕竟对于一个商业公司,成本是一定需要考虑的,而不仅仅是因为信仰所以选择JavaVS.NET是目前市面上最好的IDE,而且.net在针对开发人员方面的考虑更加亲切一点

[2004-10-21 14:18:00]

嘉宾[郭红俊(ghj1976]:

问:双缓存帖子列表技术是什么技术能说一下吗

答:一层缓存,即数据缓存;再一层缓存,即输出缓存。这跟ASP.net 的缓存概念一样的。

不过,目前CSDN ASP 缓存是通过使用 Application+Xml Dom 对象来实现的缓存,.net 中就不用这么复杂,有很多种选择。但是思路,仍然是这两种缓存。

[2004-10-21 14:20:00]

嘉宾[刘如鸿]:

问:三层体系结构会不会影响web应用程序的性能?

答:在Web应 用开发中,分层是非常必要的,从某种意义上来说紧耦合的编码方式是能够获得最好的效率,但是在一个大型站点开发过程中,如果都那样的开发大家应该可以理 解,是无法想象的。分层设计有利于你更好的抽象,也比较合适大型站点开发。如果因为分层而造成性能问题,我们可以在设计完毕之后对模型进行降解,比如原先 都分层设计的某些模块采用在同一个代码段中实现,但是这个并不意味着你不分层设计。

[2004-10-21 14:22:00]

嘉宾[郭红俊(ghj1976]:

问:缓存与静态页面,那种方法效率最高?

答:具体情况具体分析。比如,如果数据量很大,像 CSDN 论坛帖子, 总共有进20 G的数据量。使用缓存就很复杂。所以采用静态页面技术。如果更新比较频繁,你再采用静态页面技术的话,数据库的磁盘I/O负载就会很大,这时候,使用缓存就比较好些,因为都是内存操作。依次类推,你要找到你要解决啥问题。再确定用那种方式提高效率。

[2004-10-21 14:23:00]

嘉宾[孟宪会(孟子E)]:

问:双缓存帖子列表技术是什么技术能说一下吗?

答:asp.net建议尽量使用缓存来提高性能,缓存技术在msdn上和网络上都有许多介绍。专们的书没有看到。如果需要的话我可以进行综合一下房到csdn

[2004-10-21 14:24:00]

嘉宾[刘如鸿]:

问:请介绍一下asp.netMVC模式的实现吧?

答:Model,View,Control,从简单的来说我们可以理解为BO(Business Object),这个层面是针对数据模型的,View可以理解为aspx页面,Control则是你的业务逻辑,三层设计在web开发中是很常见的,你可以参考微软提供的《企业结构与模式》这本书,在中文站点有对应的地址。

[2004-10-21 14:24:00]

嘉宾[郭红俊(ghj1976]:

问:如何突破SESSION下载,保存网页html

答:最简单,模拟人的正常操作, 如果该网站限制了一分钟只能访问三个页面,那你程序中也一分钟请求三次。IE 的操作,就是传递Http信息,这些完全可以用程序模拟出来的。

[2004-10-21 14:25:00]

嘉宾[刘如鸿]:

问:.NETJAVAweb应用中,速度谁更好一些呢?我以前用过C#web应用,发现速度好像不快。

答:如果从运行速度来说,C#应该是优于Java实现的,毕竟在虚拟机这个层次上,在windows.net做的比java好,影响速度的原因很多的,不能够因此归咎于c#或者java谁慢。

[2004-10-21 14:26:00]

嘉宾[孟宪会(孟子E)]:

问:如果只开发过asp,可以推荐一些书,系统的对.netweb开发学习的吗?好的一本书实在太重要了!

答:你说的很对。一本好的书对学习有很大帮助。可以参考asp.net高级编程,wrox出版的。清华翻译的

[2004-10-21 14:26:00]

嘉宾[郭红俊(ghj1976]:

问:CSDN的静态页面不是XML么?

答:那是你只看到CSDN有论坛,没看到CSDN有新闻、文档,新闻、文档,这里CSDN是用的 SHtml 技术,而不是XML 技术。静态文件技术其实可以根据使用哪种静态文件,分很多类。具体使用那种静态文件,要看你的实际需求。

[2004-10-21 14:27:00]

嘉宾[郭红俊(ghj1976]:

问:像sohu这样的大的门户网站,如何生成静态页面给客户端访问的呢?

答:sohu 的其实是最简单的,他的核心是新闻, 新闻只要一次发布, 然后就不用修改了,他只需要在发布后,生成静态文件即可。

[2004-10-21 14:28:00]

嘉宾[孟宪会(孟子E)]:

问:我在开发一个B/S模式的文档管理系统,实现电子文档的在线编辑和签入签出等功能,其中批量文件上传(包括相对路径信息)功能由于浏览器安全限制没办法在web上实现,大家有办法吗?

答:批量上传一般是在客户端做控件。

[2004-10-21 14:29:00]

嘉宾[刘如鸿]:

问:像sohu这样的大的门户网站,如何生成静态页面给客户端访问的呢

答:你可以通过一些框架来完成静态页面的生成,这是纯粹的服务器端技术,在IIS下面,你甚至可以用aspx来实现,然后采用URL Rewrite技术,让用户感觉你是生成了大量的html,比如你可以将/article.aspx?id=12345映射成/articles/12345.html,请求的是静态html,真正处理还是aspx。这些技术在iis5.0通过isapi就可以实现,当然了,asp.net下面实现更加容易一些

[2004-10-21 14:29:00]

嘉宾[郭红俊(ghj1976]:

问:csdn网站用了几个服务器,实现群集和负载均衡了吗?

答:目前版本的CSDN没有实现负载均衡,下一代的设计,负载均衡是要实现的。目前CSDN10多台服务器。分别在做不同用途。

[2004-10-21 14:29:00]

嘉宾[刘如鸿]:

问:文档,新闻类使用shtml的静态文件的好处是什么?

答:使用shtml最大的好处就是容易被搜索引擎索引,一般来说搜索引擎对于静态页面的pagerank是高于动态页面的

[2004-10-21 14:31:00]

嘉宾[孟宪会(孟子E)]:

问:alibaba网站的站内搜索是怎么实现的?它的特点是用户搜索后得到的页面全是静态的,连分页都是,这是如何实现的?

答:alibaba网站没有去研究,应当是服务端动态生成的。

[2004-10-21 14:31:00]

嘉宾[刘如鸿]:

问:对生成的大量静态临时文件该怎么处理?

答:你可以通过一些存储机制去解决的,或者简单的删除,就看你的业务需要了。

[2004-10-21 14:32:00]

嘉宾[孟宪会(孟子E)]:

问:生成静态页的的好处是什么?ASP,JSP页面有什么区别?

答:静态页不需要服务器进行处理,直接送往客户端。可以大大降低服务器的开销。asp,jsp等需要在服务器端解析后才发送到客户端。需要cpu,内存的消耗

[2004-10-21 14:34:00]

嘉宾[郭红俊(ghj1976]:

问:在WEB开发中最主要的部分是数据库结构设计吗?

答:对小型网站来说,数据库设计好了,绝大多数问题就解决了。如果对大型网站来说,机群、性能、这些会占很大比重。网站是啥? 网站是个数据展现、收集平台,也就是把数据库的内容展现出来,以及把需要收集的数据记录到数据库。显然,展现这里也是一个重要的部分。所以,我的观点,对于小型的网站,要做好WEB开发,重要的两点基本功:

1、数据库;2、美工(提高用户体验)。如果网站大了,就需要综合考虑了。

[2004-10-21 14:34:00]嘉宾[刘如鸿]:

问:高性能的Web应用程序开发含义很大了吧! b/s 结构是否可以真正取代 c/s结构呢?

答:我想不可以的,目前很多C/S回归的论讨在各个网站都可以看见,但是可以预见的是,目前的发展需要一个更加易于部署,易于实现的运行时,比如微软的Smart Client技术,还有MozillaXUL,还有MacroMediaFlex等等,也许我们可以期待Longhornavalon技术!

[2004-10-21 14:34:00]

嘉宾[刘如鸿]:    

问:采用URL Rewrite技术让用户感觉是生成了大量的html,实际还是aspx,请问,采用这种方式(至少我觉得换汤不换药)对性能是否一定有提高?

答:我想性能的提高不是在于你采用哪个具体的技术,而是在于你是否有完整的解决方案,比如你提到的这个问题,我们可以通过aspx的缓存来提高效率的。

[2004-10-21 14:36:00]

抱歉!评论已关闭.