开年比较空,抽时间写个博文,总结下自己工作里的一些应对网站访问压力的技术方案。

自己项目现在大概一天50W的pv。已从前端到后端的顺序总结下自己用的一些方案。

一. 前端页面:

1.首先减少资源的大小,能用小图,就用小图。引用第三方js用mini 压缩版的js。

2.用CDN减少服务器访问的压力,将图片,css,js文件放到CDN上。用户从cdn缓存获取资源的速度远快与访问服务器获取的速度。(还有网络关系,cdn网络快)

3.耗时长的js可以异步请求后加载。

二.服务器负载均衡:

负载均衡解决方案有很多,不差钱有不差钱的,屌丝有屌丝的方案。我用的是nginx负载均衡。

准备一台专用的nginx负载均衡服务器,用它来负载均衡,转发给5台业务服务器。(开发需要单台调试时,用hosts指向单台)

三.服务器缓存

因为是分布式架构,服务器缓存主要用了memcached和redis(各配置2台,一台主服务,一台备用)。memcached和redis都有各自的.net版本,用起来也不复杂。

具体选择看业务需求,我基本上70%用memcached,需要长时间缓存的用redis。

memcached对于中文支持不好,要存中文数据,先将中文base64编码在存入,读取时候做base64解码。

四.数据库

我主要使用sqlserver,少量项目用mysql。50W访问量单台sqlserver服务器完全可以支持的住。尽量减少事务,业务需要用消息队列后补处理。

大任务网站不处理,用其他程序处理(响应要求高的修改操作,先修改redis缓存,然后由异步程序操作数据库。)

操作时候记录日志,数据库崩溃或网站崩溃可以读日志文件回补数据操作。(一般服务器挂了不会很久,超过一天不能恢复日子基本没法活了。。真这样在看具体情况找解决方案)

.net 网站应对压力的一些方案总结的更多相关文章

  1. 网站性能压力测试工具--apache ab使用详解

    ab是apache自带的压力测试工具.ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对其它类型的服务器进行压力测试.比如nginx.tomcat.IIS等. 下面我们开始介绍 ...

  2. apacheBench对网站进行压力测试

    apacheBench对网站进行压力测试 分类: 学习 2014-02-19 10:35 4154人阅读 评论(1) 收藏 举报 apacheBench压力测试 Apache Benchmark下载 ...

  3. 使用webbench工具测试网站访问压力

    介绍 Webbench是一个在Linux下使用的网站压测工具.它使用fork()模拟多个客户端 同时访问我们设定的URL,测试网站在压力下工作的性能, 最多可以模拟3万个并发连接去测试网站的负载能力. ...

  4. 网站服务器压力Web性能测试(1):Apache Bench:Apache自带服务器压力测试工具

    一个网站或者博客到底能够承受多大的用户访问量经常是我们在用VPS或者独立服务器搭建网站了最关心的问题,还有不少人喜欢对LNMP或者LAMP进行一些优化以便提高Web性能,而优化后到底有多大的效果,就需 ...

  5. php面试题二--解决网站大流量高并发方案(从url到硬盘来解决高并发方案总结)

    php面试题二--解决网站大流量高并发方案(从url到硬盘来解决高并发方案总结) 一.总结 从外到内解决网站大流量高并发问题---从提交一个url开始(从用户按下搜索栏回车键开始) url最开始会到d ...

  6. 网站sql注入漏洞修复方案之metinfo 6.1.0系列

    近日,我们SINE安全对metinfo进行网站安全检测发现,metinfo米拓建站系统存在高危的sql注入漏洞,攻击者可以利用该漏洞对网站的代码进行sql注入攻击,伪造恶意的sql非法语句,对网站的数 ...

  7. 网站服务器压力Web性能测试(4):服务器压力Web性能测试小结

    1.Apache Bench,Webbench,http_load对网站压力Web性能进行测试时,为了得到更加客观和准确的数值,应该从远程访问.局域网访问和本地等多个方面进行全方位的测试.一般用127 ...

  8. 网站服务器压力Web性能测试(2):Webbench:最多模拟3万个并发连接数测试压力

    1.Webbench最多可以模拟3万个并发连接数来测试服务器压力,可以设置压力测试时间和测试请求的成功率.安装Webbench命令: wget https://home.tiscali.cz/~cz2 ...

  9. jmeter模拟对网站做压力测试

    一般的网站,在进入业务功能前先需登录,然后才能访问业务功能.基本框架如下 详细步骤: 1 .用badboy录制登录,访问随意一个网址. 2.用jmeter打开,一会自己写的时候可以参考里面的参数名称或 ...

随机推荐

  1. hibernate--session的CRUD方法, delete, load,get,update,saveorupdate, clear, flush

    删除方法: 新建的对象立马被删除 @Test public void testDelete() { Teacher t = new Teacher(); t.setName("t1" ...

  2. hibernate--对象的三种状态Transient,Persistent,Detached

    Transient:刚new出来的对象 Persistent: sava或者update之后的状态 Detached: close或者clear之后 test函数: @Test public void ...

  3. 17.4.3 使用MulticastSocket实现多点广播(4)

    17.4.3  使用MulticastSocket实现多点广播(4) 通过UserInfo类的封装,所有客户端只需要维护该UserInfo类的列表,程序就可以实现广播.发送私聊信息等功能.本程序底层通 ...

  4. Git 解决同步 No value for key branch.master.merge found in

    [core] repositoryformatversion = 0 filemode = false logallrefupdates = true [remote "origin&quo ...

  5. 不小心删掉root目录......

    1.先保存还剩下的的东西,比如说桌面的文件,保存在/下面其他目录 2.执行命令 cp -R /etc/skel/.[!.]* ./ 3.reboot

  6. (简单) HDU 3308 LCIS,线段树+区间合并。

    Problem Description Given n integers. You have two operations: U A B: replace the Ath number by B. ( ...

  7. 怎样简单的制作一个CHM格式的帮助文档?

    http://jingyan.baidu.com/article/d8072ac446eb7bec95cefd0e.html 怎么制作CHM格式电子书 http://jingyan.baidu.com ...

  8. IOS开发中长按的手势事件编程

    长按手势事件: 长按按钮1S后改变按钮颜色: // 长按事件 #import "ViewController.h" @interface ViewController (){ UI ...

  9. php 利用socket上传文件

    php 利用socket上传文件 张映 发表于 2010-06-02 分类目录: php 一,利用fsockopen来上传文件 以前我写过一篇关于socket通信原理的博文http://blog.51 ...

  10. 反射机制(实例化Class)对象

    反,就是利用对象找到对象的出处 Object类中有一个方法,getClass() Date date = new Date(); System.out.println(date.getClass()) ...