应用场景
超大数据量抽取性能无法满足需求,需要优化
实施步骤
ETL部署服务器配置
数据抽取性能优化的关键是尽可能多线程并行抽取,多线程就要求有多核cpu,每个线程执行的时候,也需要消耗内存,数据抽取的时候,会有数据落盘,对磁盘容量跟IO性能也有一定要求。
总体而言,越高的服务器配置越能优化出更好的性能,如果服务器配置过低,通过调整其它配置,性能优化空间有限。为了保证有一定优化效果,配置要求:
CPU | 内存 | 硬盘 |
---|---|---|
8核+ | 32G+ | 300G+ |
ETL引擎配置
为了最大利用服务器硬件资源,ETL执行引擎需要做下面几个配置:
分配内存:
如果不设置,默认只分配了5G,为了充分利用服务器内存,需要手工进行设置.
操作步骤如下:
1. 修改 ETL引擎部署目录/conf/engine-env.sh (注意:该文件是ETL引擎启动后自动生成的,如果ETL引擎没有启动过,需要先启动)
主要修改上图两个值,删除开头的#号,同时修改分配内存,分配内存推荐设置为服务器内存70%--75%,最好这两个值设置为一样。
假如服务器内存为32G,修改如下:
2. 重启ETL引擎
3. 检验是否修改成功
进入到bi 系统监控–-实验监控
如果这里显示分配的内存跟改的一样,那就是修改成功
分配CPU:
如果不设置,默认分配了服务器所有cpu核数,如果服务器cpu核数不超过24核,保持默认值就好,如果超过24核,可以设置为24核。
因为设置更多核数,对性能提升有限,以免并发过大对数据库造成压力过大,出现稳定性问题。(注意:这说的核数是指cpu逻辑核数)
如需设置,参考下图,红框中local后面的数字,就表示分配cpu核数。默认值local[*] 表示分配了服务器所有cpu核数
磁盘空间:
因为数据量大,要求把ETL引擎部署在容量300G+的目录上。