详细介绍资源隔离技术

发布时间:2020-05-10 03:30:02 作者:一路往南 阅读量:2492

最常见的资源,如磁盘、CPU、 网络,这些宝贵的资源,都会存在竞争问题。
 
在“构建需求响应式亿级商品详情页”中,我们使用JIMDB数据同步时要dump数据,SsD 盘容量用了50%以上,dump 到同一块磁盘时遇到了容量不足的问题,我们通过单独挂一块SAS盘来专门同步数据。还有,使用Docker容器时,有的容器写磁盘非常频繁,因此,要考虑为不同的容器挂载不同的磁盘。
 
 
默认CPU的调度策略在一些追求极致性能的场景下可能并不太适合,我们希望通过绑定CPU到特定进程来提升性能。当一台机器 启动很多Redis 实例时,将CPU通过taskset 绑定到Redis实例上可以提升一.些性能。还有,Nginx 提供了worker. processes和worker _cpu. afinity 来绑定CPU.如系统网络应用比较繁忙,可以考虑将网卡IRQ绑定到指定的CPU来提升系统处理中断的能力,从而提升整体性能。
 
可以通过cat /rpr/interupts查看中断情况,然后通过/proc/irq/N/smp. afinity 手动设置中断要绑定的CPU。或者开启irgbalance 优化中断分配,将中断均匀地分发给CPU.
 
还有如大数据计算集群、数据库集群应该和应用集群隔离到不同的机架或机房,实现网络的隔离:因为大数据计算或数据库同步时会占用比较大的网络带宽,可能会拥塞网络导致应用响应变慢。
 
还有一些其他类似的隔离术,如环境隔离(测试环境、预发布环境/灰度环境、正式环境)、压测隔离(真实数据、压测数据隔离)、AB测试(为不同的用户提供不同版本的服务)、缓存隔离(有些系统混用缓存,而有些系统会扔大字节值到Redis,造成Redis慢查询)、查询隔离(简单、批量、复杂条件查询分别路由到不同的集群)等。通过隔离,可以将风险降到最低,将性能提升至最优。

***本网站图片,文字之类版权申明,因为网站可以由注册用户自行上传图片或文字,本网站无法鉴别所上传图片或文字的知识版权,如果侵犯,请及时通知我们,本网站将在第一时间及时删除。

我要评论

  热门标签

爱秒云
Catfish(鲶鱼) Blog V 4.7.3