随笔分类 -  Asp.Net高性能可扩展

摘要:原文地址:http://www.cnblogs.com/jiekzou/p/4677994.html 服务器划分 对于访问量大的网站而言,将网站的各个部分拆分分别部署到不同服务器上是很有必要的。例如将图片和web站点分开。一般而言,在网站的整个服务器部署上分为如下几种类型: 文件服务器:一般存储系统的相关图片和文件,给各个子系统提供统一的文件调用 代理服务器:一般使用linux+Ng... 阅读全文
posted @ 2015-07-31 07:26 陆敏技 阅读(639) 评论(1) 推荐(1) 编辑
摘要:一:跨库查询 Openrowset/opendatasource() is an ad-hoc method to access remote server's data. So, if you only need to access the remote server's data once and you do not to persist the connection info, th... 阅读全文
posted @ 2013-11-27 12:59 陆敏技 阅读(13262) 评论(3) 推荐(1) 编辑
摘要:Microsoft同步工具SyncToyhttp://www.cnblogs.com/daizhj/archive/2009/11/03/1595395.htmlhttp://www.cnblogs.com/dudu/archive/2010/08/10/1795962.htmlhttp://www.cnblogs.com/itech/archive/2009/08/31/1557427.htmlhttp://www.cnblogs.com/me115/archive/2011/02/28/1967214.html 阅读全文
posted @ 2012-07-18 10:23 陆敏技 阅读(968) 评论(0) 推荐(0) 编辑
摘要:1:HTTP重定向所谓HTTP重定向,就是通过修改HTTP响应头中的Location标识为新的URL,然后返回给客户端,让客户端重新根据这个Location标识的URL去做新的请求。这是一种最简单、也是最轻量级的负载均衡实现方案,使用asp.net,我们可以这样来实现,比如在主站www.yourdomain.com中,我们在默认主页如下编码: static string[] servers = { "http://192.168.0.77/luminji2/aspx/test3.aspx", ... 阅读全文
posted @ 2012-05-16 08:55 陆敏技 阅读(15536) 评论(6) 推荐(10) 编辑
摘要:如果我们正在使用Session,那么构建高性能可扩展的ASP.NET网站,就必须解决分布式Session的架构,因为单服务器的SESSION处理能力会很快出现性能瓶颈,这类问题也被称之为Session同步。微软有自己的分布式Session的解决方案,那就是SessionStateServer,我们可以参考:ASP.NET Session State Partitioning http://blog.maartenballiauw.be/post/2008/01/23/ASPNET-Session-State-Partitioning.aspxASP.NET load balancing and 阅读全文
posted @ 2011-11-03 08:56 陆敏技 阅读(15239) 评论(22) 推荐(23) 编辑
摘要:在网站的开发过程中,经常碰到的一类需求场景是:1:页面含热点新闻,热点新闻部分需要10分钟更新一次,而整个页面的其它部分1天内都不会变动;2:首页的某个BANNER需要显式:欢迎***;上面场景中的1,如果整个页面的缓存失效都定为10分钟,则势必增加性能开销,所以最好的策略是页面的不同部分采用不同的缓存失效时长。对于场景2也一样,我们不应该为了迁就某个BANNER不能应用缓存,就让整个页面都不支持缓存。可以说,如果我们在开发网站过程中的缓存策略是不支持页面局部缓存的,整个架构就是不合理的。一:局部缓存常用解决方案针对上面的需求,有几类解决方案:1、Client Side Includes(CS 阅读全文
posted @ 2011-10-19 09:27 陆敏技 阅读(5547) 评论(3) 推荐(4) 编辑
摘要:到目前为止,我们讨论了把缓存存放在ASP.NET的输出缓存中(内存和硬盘),以及浏览器缓存中,而大型站点的另一种常用做法是将缓存部署在反向代理服务器上,这类缓存我们通常称之为反向代理缓存,比如Squid和Varnish。这两款软件通常都部署在非WINDOWS平台上,对于Windows平台上的Asp.net来说,其实一样能使用,我们完全可以把反向代理软件部署在LINUX上,然后代理会路由到后台的WINDOWS WEB(IIS)服务器。总之,非WINDOWS的世界很精彩。当然,无论是squid还是varnish都有Windows的扩展版本。本文为了简便起见,基于varnish的Windows版本来 阅读全文
posted @ 2011-10-17 08:50 陆敏技 阅读(7134) 评论(18) 推荐(5) 编辑
摘要:在上篇《ASP.NET性能优化之让浏览器缓存动态网页》中的方案中,浏览器发送If-Modified-Since将是否需要使用自己的缓存交给WEB服务器去决定,服务器告知浏览器去读缓存,浏览器才会去读缓存。这种机制存在的性能损耗,就是服务器的ASP.NET仍旧要接收请求,处理请求。此篇所讲的机制是让浏览器自己去决定是否去读缓存,这样就彻底消灭了针对服务器的请求。1:减少静态页面请求要让静态页面支持这个需求,我们需要用到http头中的Cache-Control: max-age。值得注意的是Cache-Control是在HTTP/1.1协议下的标识,它是HTTP/1.0协议中的Expires的升级 阅读全文
posted @ 2011-09-14 08:52 陆敏技 阅读(8251) 评论(23) 推荐(7) 编辑
摘要:上一篇《ASP.NET性能优化之构建自定义文件缓存》我们通过OutputCache,让请求去访问服务器asp.net的输出缓存,我们扩展了OutputCacheProvider,这相当于是访问服务器上的静态资源。OutputCache是针对所有访问服务器资源的用户,本篇要介绍的浏览器缓存则是针对单个用户,让浏览器在我们的控制下彻底不持续访问服务器上的动态内容,也就是我们要让浏览器变成我们的缓存机制中的一部分,在某些特定的场景下最大化地提升ASP.NET站点的性能。如果说OutputCache是从广度上提升并发效率,则浏览器缓存是从深度上提升效率。一:HTTP头简介1.1浏览器第一次请求假设我们 阅读全文
posted @ 2011-09-13 09:26 陆敏技 阅读(10418) 评论(34) 推荐(16) 编辑
摘要:ASP.NET的输出缓存(即静态HTML)在.NET4.0前一直是基于内存的。这意味着如果我们的站点含有大量的缓存,则很容易消耗掉本机内存。现在,借助于.NET4.0中的OutputCacheProvider,我们可以有多种选择创建自己的缓存。如,我们可以把HTML输出缓存存储到memcached分布式集群服务器,或者MongoDB中(一种常用的面向文档数据库,不妨阅读本篇http://msdn.microsoft.com/zh-cn/magazine/gg650661.aspx)。当然,我们也可以把缓存作为文件存储到硬盘上,考虑到可扩展性,这是一种最廉价的做法,本文就是介绍如果构建自定义文件 阅读全文
posted @ 2011-09-08 09:21 陆敏技 阅读(9217) 评论(34) 推荐(13) 编辑
摘要:一:压力测试中需要掌握的几个基本概念1:吞吐率(Requests per second)服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。记住:吞吐率是基于并发用户数的。这句话代表了两个含义... 阅读全文
posted @ 2011-09-02 11:26 陆敏技 阅读(14513) 评论(42) 推荐(29) 编辑
摘要:首先介绍一下几个基本概念。 一:传输速率 电信号或光信号在进入线路后,能快速传播,其速率,即传播速率。单位是m/s,即米/秒。铜线速度是2.3*10^8m/s,光纤是2.0*10^8m/s。 二:带宽 带宽指的是数据发送速度,具体依赖于总线频率和总线宽度。贷款的单位是M,如100M,指的是100Mbit/s,也即100Mbps。 三:大、小B 1字节=1Byte=1B=8bit=8b=... 阅读全文
posted @ 2011-09-01 14:18 陆敏技 阅读(7140) 评论(0) 推荐(1) 编辑

Web Counter
Coupon for Contacts