首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >线程越多,IOPS就越少?

线程越多,IOPS就越少?
EN

Server Fault用户
提问于 2015-03-14 07:23:18
回答 1查看 155关注 0票数 1

我刚开始尝试AWS。我在RDS上有一个Postgres微实例,我正在c4.size上运行一个爬虫。当我只有一个蜘蛛(一个线程),我得到大约10个写IOPS。但是如果部署了两个蜘蛛(2个线程),我只得到大约7个写IOPS。如果我正确理解,因为我已经分配了20 in,最大IOPS应该是总共60 IOPS。我把监控附在下面。

当只部署了一只蜘蛛时:

当第二只蜘蛛被部署在旁边时:

注意,从平均10写IOPS下降到平均7写IOPS。

任何帮助都将不胜感激。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2015-03-14 10:08:41

您使用的是什么样的I/O后端?它是机械的还是闪光的?

在机械后端的情况下,您所观察到的是预期的行为: Postgres是一个同步写重的应用程序,这意味着即使增加了运行的线程,在运行中写入(队列深度)也将保持在较低的水平。同时,您不断地强迫磁盘的磁头移动到(通常)非常不同的位置。

换句话说,您将在磁盘上发出更重的负载,而不会因为队列深度更长而带来好处。

这正是原因所在,因为数据库通常部署在具有电池备份的写回缓存的服务器中:写回缓存吸收多次写入,然后合并,从而为磁盘操作提供更高的队列深度。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/675452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档