2009年6月8日

闲来无事跟朋友折腾了一个山寨百衲本的网站HelloCpp(http://www.hellocpp.net)。界面我们都是外行,反正基本就是活脱脱一个山寨的www.codeproject.com。不过开发过程中还是蛮有一些心得的。现在写出来跟大家分享。有不对的地方请大家多多建议。


网站性能优化之文件服务器分离技术

    在WEB开发中,一个重要的性能问题是IO问题。通常,一个网站里会拥有包括图片、RAR文件等一系列的文件,这些文件一般都比页面要多很多而且大很多, 并且,这些文件也会比页面访问更多次。这意味着,如果能优化这部分IO的性能,则对整个网站的性能都会有所提高。
      在HelloCpp(http://www.hellocpp.net)的开发过程中,我们使用了网站服务器与文件服务器相分离的技术。即除了页面以外的图片、脚本、资源等文件,都是部署在与网站页面所在的服务器不同的服务器上的。而通过网站上传文件的时候,也会由后台程序保存在远程文件服务器上。这里,保存通常有两种做法:
   1.使用FTP服务来远程保存文件
   2.使用WebService来远程保存文件
   HelloCpp 中使用的是第二种方式,因为使用第一种方式的话,文件服务器需要额外开放一个FTP服务,这样就有更多被攻击的危险。编写一个远程保存文件的 WebService相当简单,只要传递文件的数据Stream即可。另外,文件服务器还可以采取一些轻量级的配置方法,尽可能地提高IO性能。也可以配 置一个冗余的文件服务器,来提供集群访问,具体细节请参考其他专业的文档。

-----待续


最后,欢迎支持HelloCpp(http://www.hellocpp.net),中国人自己的CodeProject编程资料库

posted @ 2009-06-08 16:15 亨德列克 阅读(1529) | 评论 (10)编辑 收藏

2009年6月2日

闲的无聊,翻了翻CSDN的博客,专家列表里好多专家啊。挑了几个看了看,发现大家都好高深莫测,哎,看来需要再多学点东西了……技术跟不上了……
posted @ 2009-06-02 01:58 亨德列克 阅读(460) | 评论 (0)编辑 收藏

2009年5月27日

1.支持正常的显示
2.支持脚本操作(Method和Property)
3.支持事件:<script for=id event=event>的形式了。但是addEventListener的形式还没试验过

稍后放文章出来……

posted @ 2009-05-27 15:14 亨德列克 阅读(1253) | 评论 (1)编辑 收藏

2009年5月20日

最近在使用DirectShow开发D3D和视频相结合的内容,感觉有些怪异,很多视频在暴风里播放正常而在DirectShow Filter Chain里总是Connect Pin失败,最后感觉到应该是我的Filter有问题.遂Google之.发现一篇 利用DirectShow开发自己的Filter ,参考之,权做备忘

posted @ 2009-05-20 15:24 亨德列克 阅读(2458) | 评论 (5)编辑 收藏

2009年3月14日

很奇怪,一个XML文档,使用gb2312编码死活解析不过去,使用utf-8就可以了。嗯,后来查了jquery的文档,确实要求UTF-8,以留本文权做备案
posted @ 2009-03-14 19:40 亨德列克 阅读(357) | 评论 (0)编辑 收藏

2008年7月30日

废话不多说了,直接引用MS的原话:
[quote]
从 MSXML 3.0 版开始,XMLHTTP 请求对象使用 Urlmon.dll。如果在调用 open 方法时将 async 参数设置为 VARIANT_TRUE,则 URLMON 使用消息队列机制来通知应用程序数据何时可用,并更改 XMLHTTP 请求对象的 readyState 属性。

在 Visual C++ 应用程序中,必须使用消息泵来接收和调度消息。如果应用程序不能正确地处理传入的消息,则由于 XMLHTTP 请求对象的 readystate 属性未被更改,因此应用程序会停止响应(挂起)。
[/quote]

参考URL
http://support.microsoft.com/kb/303326/zh-cn?spid=1198&sid=global
posted @ 2008-07-30 17:58 亨德列克 阅读(2175) | 评论 (0)编辑 收藏

2008年7月29日

别的废话不多说了,基本流程和TCP下一样,只不过说一点需要注意的。
在WSARecvFrom成功以后,IOCP得到了投递,处理完了这个数据,这个时候应该重新发起一个WSARecvFrom投递了,这个时候要特别注意,
不要重新分配一个Overlapped,而要复用当前这个,不然在GetQueued的时候,会报错,报0xC000000005,读取0x00000010错误。

网上的IOCP都是TCP的,UDP的资料太少,这里提出一个要注意的地方,以使后来人避免走弯路
posted @ 2008-07-29 16:52 亨德列克 阅读(6776) | 评论 (11)编辑 收藏

2008年6月30日

一定要用IIS来调试ASP.NET WebApplication,不能用Development WebServer啊。。不然global.asax会执行不到
posted @ 2008-06-30 15:06 亨德列克 阅读(334) | 评论 (0)编辑 收藏

2008年6月27日

RT,一点也不如WebApplication好用
posted @ 2008-06-27 16:11 亨德列克 阅读(292) | 评论 (0)编辑 收藏

2008年6月19日

RT
抱怨完毕
posted @ 2008-06-19 13:03 亨德列克 阅读(243) | 评论 (0)编辑 收藏
仅列出标题  下一页