一、reactor是单线程模型,简单粗暴,也就是说网络IO和我们的业务逻辑一般是在一个线程里,其中网络IO通过event loop的方式去异步执行,效率也很高。看下官网的这幅图,比较清晰 twisted主要帮我们处理的事情就是去监听socket,等待事件完成触发回调,然后回到我们的业务逻辑中。 可以 ...
分类:
其他好文 时间:
2018-10-26 13:07:11
阅读次数:
394
为何缓存? 目前磁盘IO和网络IO相对于内存IO的大幅度性能劣势,通过将高频使用的数据存储在离近CPU的位置,以减少传输时间,提高处理效率。 系统缓存: CPU在从内存里读取数据的时候,会额外的读许多数据到内存里; 各个输入输出之间用buffer保存一批数据统一发送和接收。 软件设计缓存: web服 ...
分类:
其他好文 时间:
2018-10-23 11:59:18
阅读次数:
194
前言 压力测试过程中,如果因为资源使用瓶颈等问题引发最直接性能问题是业务交易响应时间偏大,TPS逐渐降低等。而问题定位分析通常情况下,最优先排查的是监控服务器资源利用率,例如先用TOP 或者nmon等查看CPU、内存使用情况,然后在排查IO问题,例如网络IO、磁盘IO的问题。 如果是磁盘IO问题,一 ...
分类:
数据库 时间:
2018-10-22 10:19:59
阅读次数:
183
三 multiprocessing模块 Multiprocessing is a package that supports spawning processes using an API similar to the threading module. The multiprocessing pa ...
分类:
编程语言 时间:
2018-10-17 11:13:23
阅读次数:
165
对于一个网络IO(network IO),它会涉及到两个系统对象,一个是调用这个IO的process (or thread),另一个就是系统内核(kernel)。当一个read操作发生时,该操作会经历两个阶段: 1.等待数据准备 2.将数据从系统内核拷贝到进程当中 当收到数据后,这些数据会先存放到系 ...
分类:
编程语言 时间:
2018-10-08 13:30:06
阅读次数:
259
计算机的五大组成部分: 运算器,控制器,存储器,输入,输出 虚拟化是对cpu ,内存,,磁盘, 网络,IO 的虚拟 cpu的虚拟 以时间分片形式进行,这样使得cpu可以运行多个进程 内存进行了空间复用, MMU内存管理单元:每个进程拥有的内存最终都会映射到物理上, 内存将物理内存空间划分为多个空间, ...
分类:
其他好文 时间:
2018-10-04 21:37:18
阅读次数:
175
通信是分布式架构的一个基本问题, 通信是基于通信协议, 通过网络IO来实现的, 基本的通信协议有TCP,HTTP,UDP等, Java的IO分为BIO,NIO,AIO等, java领域有很多支持通信的技术, 如RMI,MINA,JMS等. 网络协议 TCP/IP: 五层模型: 基于OSI七层模型. ...
分类:
其他好文 时间:
2018-09-15 16:31:14
阅读次数:
172
ApacheMesos概述不同的分布式运算框架(spark,hadoop,ES,MPI,Cassandra,etc.)中的不同任务往往需要的资源(内存,CPU,网络IO等)不同,它们运行在同一个集群中,会相互干扰,为此,应该提供一种资源隔离机制避免任务之间由资源争用导致效率下降,考虑到资源利用率,运维成本,数据共享等因素,公司一般希望将所有这些框架部署到一个公共的集群中,让它们共享集群的资源,并对
分类:
其他好文 时间:
2018-08-21 01:07:42
阅读次数:
264
转自:https://blog.csdn.net/dinglang_2009/article/details/53464196 缓存一致性问题 当数据时效性要求很高时,需要保证缓存中的数据与数据库中的保持一致,而且需要保证缓存节点和副本中的数据也保持一致,不能出现差异现象。这就比较依赖缓存的过期和更 ...
分类:
其他好文 时间:
2018-08-16 13:47:46
阅读次数:
137
一、背景 要提升服务器的并发处理能力,通常有两大方向的思路。 1、系统架构层面。比如负载均衡、多级缓存、单元化部署等等。 2、单节点优化层面。比如修复代码级别的性能Bug、JVM参数调优、IO优化等等。 一般来说,系统架构的合理程度,决定了系统在整体性能上的伸缩性(高伸缩性,简而言之就是可以很任性, ...
分类:
编程语言 时间:
2018-08-09 19:23:32
阅读次数:
270