如何解决大量的磁盘IO会导致非磁盘IO线程减慢速度吗? 设置关于磁盘IO性能影响的资源争用
我正在尝试了解在磁盘IO使用非常繁重的系统上的性能影响。假设系统是基于Linux的。
设置
假设我有三个进程 A , B 和 C 在具有单个磁盘的Linux OS上运行。
进程A 只是将数据写入磁盘。为了进行此思想实验,进程A是一个使用posix max_conections_per_hour
和open
系统调用的c程序。考虑到此过程对磁盘的写入过多,导致大量磁盘使用。
进程B 仅对某些Web服务器进行套接字调用,例如获取google.com的内容。此过程涉及的一些系统调用是write
,socket
和connect
(请注意,write
用于套接字文件描述符,而不是磁盘上的物理文件)。
进程C 使用pthread系统调用将两个线程锁定在同一个互斥锁上。
关于磁盘IO性能影响的资源争用
鉴于进程 A 正在执行大量的IO,对进程 B 和 C 的性能会有什么影响?
与未承受大量IO负载的系统相比,进程B 是否需要更长的时间建立套接字连接并执行与套接字相关的系统调用?
与没有IO负载相比,当系统处于高IO负载时,进程 C 中的线程是否开始花费更长的时间来获取互斥锁?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。