

大数据任务执行时间优化案例分享,大数据技术下如何提高预处理能力大数据任务执行时间优化案例分享问题的背景在项目中,大数据的任务执行时间较长,需要进行优化,使大数据的任务执行时间优化到客户可以接受的时间。分析两个原因 业务场景分析该场景中的大数据任务主要是对数据进行mapreduce操作,包括两个子任务。第一个子任务的地图......
问题的背景
在项目中,大数据的任务执行时间较长,需要进行优化,使大数据的任务执行时间优化到客户可以接受的时间。
分析两个原因
业务场景分析
该场景中的大数据任务主要是对数据进行mapreduce操作,包括两个子任务。第一个子任务的地图数量(每张地图大小为128M)约为4300张(这些地图任务分散在不同的服务器上,泰山集群有6400+核处理,可以充分利用泰山的多核优势)。地图的执行时间是10分钟。但reduce的数量固定为200(即最多200个内核并行处理reduce任务),reduce的执行时间约为1小时30分钟,耗时较长。同时reduce的数量少于map的数量,无法充分发挥泰山多核的优势,第二个子任务也是reduce阶段,耗时较长。
服务器基础的性能分析
执行大数据任务时,cpu利用率不高,磁盘io和网卡IO不存在瓶颈。但是,网卡中断需要绑定到内核,并且可以调整磁盘缓存参数来提高性能。
三种解决方案
3.1网卡调整
3.1.1中断核结合
中断关联性被描述为一组能够对特定中断做出响应的CPU。如果应用程序可以通过关联相关的CPU在相同的CPU上下文中处理收到的数据包,则可以减少等待时间并提高CPU利用率。
因此,我们可以将处理网卡中断的CPU内核设置在网卡所在的NUMA上,从而减少跨NUMA内存访问带来的额外开销,提高网络处理性能。
3.2磁盘参数调整
3.2.1磁盘读取预取参数
/sys/block/sdx/queue/read ahead。该参数对于顺序读取非常有用。意思是,一次提前看多少内容,不管实际需要多少。默认情况下,一次读取128kb远小于您想要读取的内容。设置大一点对于读取大文件非常有用,可以有效减少读寻道的次数。该参数可通过使用块dev–setra进行设置。setra设置了多少个扇区,因此实际字节除以2。例如,设置512实际读取256个字节。
原始服务器值是128kb,它被设置为4096Kb。
3.2.2缓存写入磁盘的参数调整
/proc/sys/vm/dirtyratio从20更改为40
此参数控制文件系统的文件系统写缓冲区的大小。单位是百分比,表示系统内存的百分比。它表示当写缓冲区用完系统内存时,它开始向磁盘写入数据。如果增加,更多的系统内存将用于磁盘写缓冲,系统的写性能也将大大提高。
/proc/sys/VM/dirty background ratio从10更改为20
此参数控制文件系统的pdflush进程以及何时刷新磁盘。是单位百分比,表示系统内存的百分比。这意味着当写缓冲区用完系统内存时,pdflush开始向磁盘写入数据。
如果增加,更多的系统内存将用于磁盘写缓冲,系统的写性能也将大大提高。
/proc/sys/VM/dirty write back centi secs从500更改为800
此参数控制内核的脏数据刷新进程pdflush的运行间隔。单位是1/100秒。默认值为500,即5秒。
/proc/sys/VM/dirty expire centi secs从3000更改为30000。
该参数声明Linux内核写缓冲区中的数据为“旧”后,pdflush进程开始考虑将其写入磁盘。单位是1/100秒。默认是30000,也就是说即使30秒的数据是旧的,也会刷新磁盘。
对于特别重载的写操作,适当降低这个值也是好的,但是不能降低太多,因为降低太多会导致IO增加过快。
3.3应用程序调整
3.3.1优化数量的减少
调整大数据平台上的reduce设置,使最大reduce数由200改为500,性能明显提升。
3.3.2 Reduce并行复制参数maprd.reduce.parallel.copies优化
reduce的并发副本数默认为5,后来调整为30可以增加Reduce的最大并发副本数。
调优后,最终大数据任务执行时间有了显著提升。
四总结
调优后,任务在泰山集群服务器上的执行时间明显改善。相关想法总结如下:
分析确认大数据任务执行各阶段耗时,重点关注耗时阶段,提高降低并发,充分利用泰山多核优势。
找出性能瓶颈,优化服务器各子模块的参数。
特别声明:以上文章内容仅代表作者本人观点,不代表ESG跨境电商观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与ESG跨境电商联系。
二维码加载中...
使用微信扫一扫登录
使用账号密码登录
平台顾问
微信扫一扫
马上联系在线顾问
小程序
ESG跨境小程序
手机入驻更便捷
返回顶部