高性能,高并发

1.负载均衡,加服务器分流 
    1)nginx做负载服务器,分发处理请求,ip_hash依据ip定位服务器,防止session不共享处理。 
2.代码尽量优化 
    1)包括常用写法,for循环变量等等,网上很多资料。 
    2)消耗资源和占用内存多的,都必须处理分批处理,比如批量处理txt文档,如果txt文档大于1w个,Apache ftp如果一次加载完,必然内存溢出,必须分批次处理,一次加载1000或者5000依据情况而定,最好使用多线程处理,比如读txt和处理txt,读线程池解决,CountDownLatch类处理线程池做任务的先后顺序。 
    3)用完资源及时关闭,对读取文件和连接还有socket等等 
    4)对httpclient请求,请求时间等待时间等等处理。 
3.减少对数据库访问,最好批量插入。 
    1)系统启动时候启动线程处理队列,如果需要插入sql,把sql放入队列,线程定时处理这些sql。 
4.缓存,增加缓存,增加访问速度。 
    1)memcached支持的语言最多,只支持key-value 
    2)redis对java支持最好,用的最多支持类型比memcached多。 
5.缓存集群解决规模大的访问请求,主从复制一般小中型项目可以解决了。 
    1)无论memcached和redis都可以集群处理大型系统项目 
    2)我只用过redis主从复制,这个一般就可以解决大部分问题,只需写一个redis服务器,其他服务器自动复制,这样就可以访问这些服务器缓存数据。 
6.限流,随机一些访问跳到宣传页面。 
1)限流,没有办法的办法,对访问限制很好解决并发数多的请求。 
7.对数据库访问高效率 
    1)jndi和druid,bencop选择合适的连接池,依据经验处理吧。 
8.使用队列,一些操作可以使用多线程解决 
    1)activemq可以异步处理消息,也可以自己用jdk5线程池处理。 
    2)dubbox不知道对异步处理怎么样,需要我写demo,目前没测试。 
9.分层,分隔,分布 
    1)我做过三种这种类型的项目开发,一种是建很多java工程,编译到web工程下面,没增加一个模块建一个工程,劣势要是使用某个模块很麻烦。 
10.异步,使用队列,请求无需等到回应可以返回,队列处理这些请求! 
11.高性能,程序员从加缓存,负载均衡,队列处理消息等处理。 
12.高并发,web端页面样式图片存放服务器,最好放在负载均衡那台服务器,减少网络传输影响 
    1)web端的css,js,图片等等放到nginx,减少网络传输开销,最好处理方式 
    2)减少http请求,每个请求都需要耗费性能,不需要的请求可以减少,最好把数据准备好,一次请求搞定


获取【下载地址】

时间: 2024-11-05 06:09:30

高性能,高并发的相关文章

高性能高并发系统的稳定性保障

小码哥 于 1 月前 发表在 七嘴八舌 作者:肖飞,于2011年8月份加入京东,曾亲身参与到京东的应用性能监控.统一日志.流式计算.内存缓存.四层防攻击等一些基础技术平台的研发和搭建工作,经历了京东的技术系统从简单粗放向复杂精细化的演变过程.目前主要工作为多中心交易项目中的数据复制中间件JingoBUS的研发.平时也会开发一些公共的平台和工具,关注分布式系统的实现.程序设计.性能优化.开发语言等. 本文是2015年肖飞在内部分享的<高性能高并发系统的稳定性保障>PPT内容. 性能.并发.稳定性

千万级PV规模高性能高并发网站架构

防伪码:好久不见,你会不会突然的出现. 客户端:缓存(expires).deflate压缩 缓存服务器:CDN/cache缓存静态内容如:html.jpg.gif.js等 静态web服务器:Apache/nginx静态服务器提供html页面内容 php/java服务器:PHP/JAVA动态内容 数据库缓存服务器:数据库缓存memcache/redis 数据库服务器:MYSQL数据库 数据存储:NFS/HADOOP等 高并发访问的核心原则其实就一句话"把所有的用户访问请求都尽量往前推".

浅谈千万级PV/IP规模高性能高并发网站架构

高并发访问的核心原则其实就一句话“把所有的用户访问请求都尽量往前推”. 如果把来访用户比作来犯的"敌人",我们一定要把他们挡在800里地以外,即不能让他们的请求一下打到我们的指挥部(指挥部就是数据库及分布式存储). 如:能缓存在用户电脑本地的,就不要让他去访问CDN. 能缓存CDN服务器上的,就不要让CDN去访问源(静态服务器)了.能访问静态服务器的,就不要去 访问动态服务器.以此类推:能不访问数据库和存储就一定不要去访问数据库和存储. 说起来很轻松,实际做起来却不容易,但只要稍加努力

网站设计高性能高并发

高性能高并发 高并发访问的核心原则其实就一句话"把所有的用户访问请求都尽量往前推". 如果把来访用户比作来犯的"敌人",我们一定要把他们挡在800里地以外,即不能让他们的请求一下打到我们的指挥部(指挥部就是数据库及分布式存储). 如:能缓存在用户电脑本地的,就不要让他去访问CDN.能缓存CDN服务器上的,就不要让CDN去访问源(静态服务器)了.能访问静态服务器的,就不要去访问动态服务器.以此类推:能不访问数据库和存储就一定不要去访问数据库和存储. 说起来很轻松,实际

MySql计数器,如网站点击数,如何实现高性能高并发的计数器功能

MySql计数器,如网站点击数,如何实现高性能高并发的计数器功能 Clicks: 5338 Date: 2014-03-29 23:30:42 Power By 李轩Lane TagMysql计数器高性能 现在有很多的项目,对计数器的实现甚是随意,比如在实现网站文章点击数的时候,是这么设计数据表的,如:”article_id, menu_id, article_name, article_content, article_author, article_view......在article_vi

高性能高并发服务器架构设计探究—以flamigo服务器代码为例

这篇文章我们将介绍服务器的开发,并从多个方面探究如何开发一款高性能高并发的服务器程序.所谓高性能就是服务器能流畅地处理各个客户端的连接并尽量低延迟地应答客户端的请求:所谓高并发,指的是服务器可以同时支持多的客户端连接,且这些客户端在连接期间内会不断与服务器有数据来往.这篇文章将从两个方面来介绍,一个是服务器的框架,即单个服务器程序的代码组织结构:另外一个是一组服务程序的如何组织与交互,即架构.注意:本文以下内容中的客户端是相对概念,指的是连接到当前讨论的服务程序的终端,所以这里的客户端既可能是我

浅谈千万级PV/IP规模高性能高并发网站架构(转自老男孩)

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://oldboy.blog.51cto.com/2561410/736710 如果把来访用户比作来犯的"敌人",我们一定要把他们挡在800里地以外,即不能让他们的请求一下打到我们的指挥部(指挥部就是数据库及分布式存储). 如:能缓存在用户电脑本地的,就不要让他去访问CDN. 能缓存CDN服务器上的,就不要让CDN去访问源(静态服务器)了.能访问静态服务器的,就不要去访问动态

Java秒杀系统方案优化---高性能高并发实战

Java秒杀系统方案优化---高性能高并发实战网盘地址:https://pan.baidu.com/s/1htNv2zq 密码: ssyt备用地址(腾讯微云):https://share.weiyun.com/889808c023b6e9d9f504399a5b07276f 密码:1WaUHB 亮眼的!高并发秒杀系统核心技术 课程以"秒杀"场景为例,但技术都是通用的,举一反三,方得始终应对大并发:多层次多粒度缓存+消息队列异步+服务器分布式部署 专业的压测工具:有依有据,鉴证系统的优化

(转)浅谈千万级PV/IP规模高性能高并发网站架构

浅谈千万级PV/IP规模高性能高并发网站架构 原文:http://blog.51cto.com/oldboy/736710 文章架构简图:   高并发访问的核心原则其实就一句话"把所有的用户访问请求都尽量往前推". 如果把来访用户比作来犯的"敌人",我们一定要把他们挡在800里地以外,即不能让他们的请求一下打到我们的指挥部(指挥部就是数据库及分布式存储). 如:能缓存在用户电脑本地的,就不要让他去访问CDN. 能缓存CDN服务器上的,就不要让CDN去访问源(静态服务

Java与Netty实现高性能高并发

1. 背景 1.1. 惊人的性能数据 最近一个圈内朋友通过私信告诉我,通过使用Netty4 + Thrift压缩二进制编解码技术,他们实现了10W TPS(1K的复杂POJO对象)的跨节点远程服务调用.相比于传统基于Java序列化+BIO(同步阻塞IO)的通信框架,性能提升了8倍多. 事实上,我对这个数据并不感到惊讶,根据我5年多的NIO编程经验,通过选择合适的NIO框架,加上高性能的压缩二进制编解码技术,精心的设计Reactor线程模型,达到上述性能指标是完全有可能的. 下面我们就一起来看下N