我使用apacheflume(一个flume代理)和execsource(cat命令)、file channel和一个sink(使用elasticsearch bulk和xcontentbuilder java api自定义构建)将数据加载到一个两节点的elasticsearch集群中,每个集群有5个shard。
flume中的事件收集速率为8000个事件/秒(大小为1个事件246字节),但在elasticsearch中索引期间,它会减少到3000个事件/秒。
如何调整elasticsearch的索引性能,使吞吐量接近flume中的收集速率?
3条答案
按热度按时间uplii1fm1#
我写了一个脚本,你可以在这里下载。这是一个shell脚本,但我相信你可以翻译不考虑你的平台。索引性能有许多变量。硬件和系统变量。那里有很多资源。
0s7z1bwu2#
我会考虑看看logstash写入elasticsearch的方式——特别是他们将索引间隔设置为5s以提高性能。您可能还需要测试压缩是否有帮助或阻碍。
否则,我会增加你的集群大小。
axkjgtzd3#
使用内存通道代替文件通道,输出速度提高数倍。