性能考虑

1、软件系统-->操作系统-->进程线程-->单进程、多进程、多线程、进程间通信、多线程并发

Redis -- 单进程单线程(没有锁和进程间切换的CPU消耗)。多路I/O复用(单线程高效处理多请求,减少I/O时间)。数据结构简单(内存操作速度快)。 qps(每秒查询率)达到10万+。
多路I/O : 消息通知模式,epoll只轮询I/O事件流,多个网络连接复用同一个线程。
Nginx -- 多进程(更安全稳定,可配置热加载,热升级版本)、多线程(附加)
Memcached -- 多进程(设置线程数为CPU核数最省时间)多线程(多路I/O复用)
JBoss -- 多线程(合理使用和配置)

Netty -- 多线程、线程池。NIO


2、商用服务器(并行):SMP、NUMA、MPP

SMP -- 对称多处理器。一致存储器访问结构(UMA)。共享资源(CPU、内存、I/O等)。2-4个CPU(利用率最好)。
NUMA -- 非一致存储访问结构。支持多个CPU(性能无法线性增加(节点互联在服务器内部,CPU却访问整个系统内存))。
MPP -- 海量并行处理结构。多个SMP服务器协同工作,内存独立,节点网络(数据重分配),系统级软件(数据库等)来屏蔽复杂的调度和节点负载和并行处理。节点互联在服务器外部通过I/O实现,CPU只能访问本地内存。


3、负载(性能、 成本、可维护性、可用性)
F5 -- 贵,智能,负载性能强,适用于多设备、大访问量、简单应用
交换机
LVS -- 负责网络4层之上分发,均衡能力强,对内存和cpu消耗低。只分发请求,不走流量
Nginx -- 支撑1万+并发,worker进程非阻塞处理多个连接,降低上下文切换的次数,通过共享内存进行通信。根据系统状况来分配负载,支持http和Email
HAProxy -- 负载均衡的策略多,工作的4、7层,支持多网段、虚拟主机、Session的保持、Cookie的引导、指定url来检查服务器状态、TCP协议负载均衡转发,对MySQL读负载均衡,Mysql节点检测和负载均衡。多进程模式弱。
LVS/DR+Keepalived 实施比较复杂,MySQL主从负载均衡
Nginx/HAProxy+Keepalived 实施简单

算法:
轮询算法
权重分配
负载分配(利用生产实践所积累的数据以轧制规程形式存入计算机,以成品尺寸进行厚度分配)

方法:
DNS轮询
智能DNS -- 可以通过多种负载均衡策略来将客户端需要访问的域名解析到不同的数据中心不同的线路上。
CDN内容分发网络 -- 缓存服务器分布到访问相对集中的地区或网络中,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。
GSLB全局负载均衡 -- 以通过更丰富的维度来判断用户就进性,形成就进性表,除了分地域IP数据库外,还可以通过TTL、用户访问延时、服务器负载情况等来判断

任务合理分解的目的是提升整体的性能。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值