高性能,高并发
来源:互联网 发布:mac版qq发说说会显示吗 编辑:程序博客网 时间:2024/04/24 09:38
1.负载均衡,加服务器分流
1)nginx做负载服务器,分发处理请求,ip_hash依据ip定位服务器,防止session不共享处理。
2.代码尽量优化
1)包括常用写法,for循环变量等等,网上很多资料。
2)消耗资源和占用内存多的,都必须处理分批处理,比如批量处理txt文档,如果txt文档大于1w个,Apache ftp如果一次加载完,必然内存溢出,必须分批次处理,一次加载1000或者5000依据情况而定,最好使用多线程处理,比如读txt和处理txt,读线程池解决,CountDownLatch类处理线程池做任务的先后顺序。
1)nginx做负载服务器,分发处理请求,ip_hash依据ip定位服务器,防止session不共享处理。
2.代码尽量优化
1)包括常用写法,for循环变量等等,网上很多资料。
2)消耗资源和占用内存多的,都必须处理分批处理,比如批量处理txt文档,如果txt文档大于1w个,Apache ftp如果一次加载完,必然内存溢出,必须分批次处理,一次加载1000或者5000依据情况而定,最好使用多线程处理,比如读txt和处理txt,读线程池解决,CountDownLatch类处理线程池做任务的先后顺序。
伦理片 http://www.dotdy.com/
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请求,每个请求都需要耗费性能,不需要的请求可以减少,最好把数据准备好,一次请求搞定
影音先锋电影 http://www.iskdy.com/
0 0
- 高并发,高性能
- 高性能,高并发
- 高性能,高并发
- 高性能高并发
- 高性能高并发 面试
- java高并发、高性能
- Netty高性能并发
- 高并发性能优化
- 构建高性能高并发Java系统
- 构建高性能高并发Java系统
- 构建高性能高并发Java系统
- 网站设计高性能高并发
- 构建高性能高并发Java系统
- 构建高性能高并发Java系统
- 构建高性能高并发Java系统
- 处理高并发高性能队列-Disruptor
- 构建高性能高并发Java系统
- 高并发,高性能的一点调研
- Windows平台下写文件的回车换行问题
- python-markdown无法将```生成标签问题解决方法
- Java JUnit4
- TableLayout实现登录界面
- 一个简单的安卓小应用,开发步骤以及遇到的各种问题总结
- 高性能,高并发
- HDU_3466_动规(01背包)
- 用MXnet实战深度学习之一:安装GPU版mxnet并跑一个MNIST手写数字识别
- 数据结构小结 说明
- 基于rails的schedule网站开发(16):可以继续研究的内容
- 安装redis
- Andorid Camera的简单实用
- 易用的深度学习框架Keras简介及使用
- 杭电acm1496