并发:单机多 CPU、单CPU多 Core、单 core 超线程 IO密集型应用: 多进程->多线程->异步->协程?? CPU密集型应用:多进程-->多线程 ?? 方法:算法
减小网络重连(长链接) 下降链接数(链接池) 减小线程切换(线程池) 减小内存分配和释放(内存池) 减小耗时的操做和运算 (memset,浮点运算,除法,指数,对数运算,慎用stl) 在线转离线 (离线生成词典,如推荐)编程
多线程无锁算法:无锁共享数据、无锁数据结构、Copy on Write Hash 冲突:桶如何分配、如何减小 hash 冲突 合理使用锁:锁的时间尽量短、下降冲突几率、避免死锁网络
随机写--》顺序写 顺序写磁盘效率比随机写内存还要高,这是Kafka高 吞吐率的一个很重要的保证数据结构
下降数据传输量: 数据压缩:CPU 与网络 IO 权衡 , 减小交互次数 打包访问 减小跨机器 IO多线程
均衡 cache并发