随笔分类 - 大型web站点
记录大型web站点、设计、架构方面内容
摘要:如果我们正在使用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
阅读全文
摘要:一、问题描述错误内容: A potentially dangerous Request.Form value was detected from the client (message="...3796622232<font color=blue>(备注...").二、 解决方案:解决方案一: 在.aspx文件头中加入这句: <%@ Page validateRequest="false" %>eg:<%@ Page Language="C#" AutoEventWireup="false&qu
阅读全文
摘要:下载 访问:http://www.eqatec.com/Profiler/Home.aspx ,到“DownLoad”页面填写相关信息后,下载的link会发到邮箱。也可以直接用这个下载好的:EQATECProfiler.7z安装 下载得到的是个.msi扩展名的文件,直接安装即可各个tab介绍 我们主要会用到EQATEC Profiler的3个tab:Build, Run, View Build:这个工具的原理是在需要监控的方法上加入性能监控代码,从而在程序运行时记录性能数据。和我们在代码里面写Stopwatch不同的是,它是直接对已经编译好的dll或者exe插入代码的。因此Build这个tab
阅读全文
摘要:为了提高网站性能、和网站的负载能力,页面静态化是一种有效的方式,这里对于asp.net mvc3 构架下的网站,提供一种个人认为比较好的静态话方式。实现原理是通过mvc提供的过滤器扩展点实现页面内容的文本保存,直接上代码:View Code publicclassStaticFileWriteFilterAttribute:FilterAttribute,IResultFilter{publicvoidOnResultExecuted(ResultExecutedContextfilterContext){}publicvoidOnResultExecuting(ResultExecuting
阅读全文
摘要:一、分布式系统基础重要要点:对外提供无状态节点,内部实现具体有状态或者无状态节点逻辑,节点即可以是提供服务,也可以是存储数据。拜占庭问题,在分布式系统中的使用,目的是保证服务可用,而不是找出错误的节点,如果。异常常见情况,机器宕机、网络异常、消息丢失、消息乱序、数据错误、不可靠的TCP。可能是收到消息后宕机、也可能是处理完成以后机器宕机、处理完成任务后发送确认消息是网络异常。也有可能是发出去的消息丢失,或者发送确认消息时丢失。可能先发送出去的数据后收到分布式状态、成功、失败、超时。超时的情况,不能判断是否成功,原有同上。数据存储在机械硬盘上,随时有可能发生异常,导致数据没有能正确存储。无法归类
阅读全文
摘要:一、SoapHttpClientProtocol类可以直接访问指定的webService的指定方法。先决条件:必须给该类的Url熟悉赋值,该Url表示服务的具体路径。具体的类必须继承该类。必须在继承类上添加这些特性:尤其是 WebServiceBinding(Name = "Soap", Namespace = "http://tempuri.org/")]完整的特性有: [GeneratedCode("System.Web.Services", "2.0.50727.3053"), DesignerCategor
阅读全文
摘要:一、Memcache1. memecache 把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小redis有部份存在硬盘上,这样能保证数据的持久性。2. Memcache使用了Slab Allocator的内存分配机制:按照预先规定的大小,将分配的内存分割成特定长度的块,以完全解决内存碎片问题。3. memcache 存在内存中,分配的内存满后,会按一定的规则删除一些k/v数据,重启后自然全部丢失。4. 过期策略--memcache在set时就指定,例如set key1 0 0 8,即永不过期。Redis可以通过例如expire 设定。5. 首先要说明的是Memcached支持最大的存
阅读全文
摘要:一、把用户ID加密存储在Cookie中1. 把用户ID,用可逆加密的方式,存储于Cookie中。当用户登陆成功时,ID经过加密存储。用户第一次访问A页面,通过解密ID,如果解密成功,然后调用SOA(或者其他分布式服务实现,可以达到随意扩展,而不用更改调用端),获取用户信息,然后把用户信息存储在Session中,如果这时用户从A页面跳转到B页面,同样可以通过解密获取用户信息。这样导致的问题是,大量访问登陆服务,降低了Session的利用率。如果能实现,同一个用户固定负载均衡到同一台服务器上,就可以实现比较高的Session利用率。2. 可以随时更换密钥,但是必须所有服务器都使用相同的密钥,否则会
阅读全文
摘要:一、CDN服务商1. 蓝汛,网宿,帝联,快网,世纪互联,CDN联盟2. 蓝讯的CDN带宽数和节点数最大,接下来是网宿,帝联,快钱。帝联是网宿分出来的,快钱的早期CDN人员也同网宿有关。世纪互联2008开始介入CDN市场。这家的共同点就是都是全国性的大IDC转而增加CDN业务,CDN联盟的势头也不小,应该也会陆续部署一些固定节点。电信和网通也有开始做CDN,但是受体制的制约,一个地方性的电信网通公司,要想全国布点是很麻烦的。二、选择CDN服务商的条件1. 如果你的客户群只集中于本地小范围内,那么CDN对你来说可能并无太大用处。2. 首先第一点当然是选择正规的,第二要选择适合的,比如你做国外的,要
阅读全文
摘要:下载Redis的windows 版本,里面包含32bit和64bit2个文件夹,和其他文件,根据系统选择拷贝32bit或者64bit的目录里面的文件到D:\redis文件夹里面,然后通过cmd命令进入到该文件,执行Redis-Server.exe Redis.conf启动服务端。如果出现如下内容,及服务端启动成功:(注意服务端的Cmd窗口不能关闭,一旦关闭服务就停止了)d:\redis>redis-server.exe redis.conf[9340] 09 Dec 22:13:37 * Server started, Redis version 2.4.2[9340] 09 Dec 2
阅读全文
摘要:下载Squid程序后,解压然后放到,C盘。只需要新增配置节点如下#监听Squid机器上的3128端口,所有该端口的请求都被转。http_port 3128 accel vhost vport#请求被转发到127.0.0.1的2479端口。cache_peer 127.0.0.1 parent 2479 0 no-query originserver#weihy为请求服务名字,可以随便定义visible_hostname weiy# http_access allow all 节点必须放到#http_access deny all的后面才能成功,否则出现错误。http_access allow
阅读全文
摘要:保证可扩展性,横向扩展和纵向扩展。保证冗余性,其中的1台或者的几台服务器出现故障时,保证系统的正常运行。当服务器有几百台时,运维成本上升,运维方式包含每个服务器的用途、每台服务器的运行状况、如负载、磁盘、安全设置、是否出故障,这些都必须用监视软件、管理服务器的工具等自动化运维方式,服务器挂掉后能否自动重启;开发方法和开发人数都发生变化。运维和开发分开,多人协作开发的问题。应当如何标准化开发、开发过程中的实现方案、统一开发语言、统一库函数和框架、代码规范、版本管理、源代码管理、bug管理、增加人手如何保证开发效率的提高、开发规范的推行、新人的培训、人员能否更上公司的发展等等。内存的的速度是硬盘的
阅读全文
摘要:这个架构基于squid、nginx和lvs等技术,从架构上对bbs进行全面优化和保护,有如下特点:1、高性能:所有的点击基本上全部由前端缓存负责,提供最快速的处理。2、高保障度:不需考虑应用程序稳定与否、程序语言是何种、数据库是何种,都能从架构上保证稳定。3、高可用性:对应用程序的修改达到最简化:在程序的某些地方加入清缓存的语句即可,当然还需要做页面静态化的工作和统计工作。首先看图,这个图比较大:这个架构的特点和一些流程的说明:1、主域名和图片域名分离域名分离可以使流量分离,缓存策略分离等等,好处诸多。bbs初期一定要做好规划,将图片用另外的域名独立服务,即使没有足够机器,域名也要先分开。另
阅读全文
摘要:1前端优化必要性随着互联网的发展,前端优化越来越被人们重视,在一个大型的大型电子商务网站技术架构中,前端架构一定是一项必不可少的工作,国内几个大型的互联网公司也有非常强大的前端技术人员。在业界享有名气淘宝UED团队就有好几十人。在浏览器访问一个网站时,有10%-20%的时间是花在下载HTML上面,有80%-90%时间是花在下载页面中所有组件上面。如果我们可以把后端时间缩短一半,整体响应时间只能减少5%-10%。然而我们关注前端,同样是其响应时间缩短一半,那整体性能能减少40%-45%。看些研究数据:lAmazon慢0.1 s -> 1%用户放弃交易lGoogle慢0.4s ->0.
阅读全文

浙公网安备 33010602011771号