摘要:
以网络IO为例子:如果程序读取队列时,队列没有数据,那么就会出现阻塞。 假设第一个app负责处理两个队列,第一个socket阻塞,那它就无法处理第二个正常的socket, 因此:一个socket对应一个请求队列,一个队列对应一个线程。=》费线程,并发数很多时性能差,但也不是绝对不好 改进:一个程序读 阅读全文
摘要:
本地IO:程序读写磁盘数据很慢,于是在内核中建立了pagecache进行加速。 不同的磁盘文件可能对应不同pagecache。 如果程序读写速度太快,可能pagecache来不及向磁盘写数据,需要注意双写一致性。 网络IO:待处理的数据存储在网卡的缓存buf中,每和其他主机建立一个连接,都会在内核新 阅读全文