elasticsearch2.x优化小结(单节点)
2024-08-26 20:52:23
最近es一直卡顿,甚至宕机,用bigdesk看了,才晓得,es一直用的默认配置(可以看出我有多懒,先前数据量小,es足以应付,现在数据量上去后就不行了)。
这里总结三方面:
1.提升jvm内存
vi elasticsearch/bin/elasticsearch.in.sh
找到这两个参数,进行修改。一般为系统总内存的一半(需要注意的是,如果你的这个系统有其他大头也消耗内存,那么就要做减法。这里的系统总内存指的是你计划给elasticsearch和lucence使用的内存阙值。关于内存分配,见http://www.cnblogs.com/jiu0821/p/5650027.html)。
ES_MIN_MEM=10g
ES_MAX_MEM=10g
2.使用G1垃圾收集器
在elasticsearch.in.sh里找到
if ["x$ES_GC_OPTS" = "x"];then
...
fi
进行修改:
ES_GC_OPTS="$ES_GC_OPTS -XX:+UseG1GC"
ES_GC_OPTS="$ES_GC_OPTS -XX:MaxGCPauseMillis=200"
其他都注释掉。
3.max_file_descriptors
默认配置是4096,在实际项目中往往是不够的。
修改/etc/security/limits.conf,末尾添加(注:test为普通用户名)
test soft nofile
test hard nofile
再重启es即可:
sudo -iu test /home/elasticsearch/bin/elasticsearch -d
最新文章
- WPF 四种样式
- echo &#39;<;script>;alert(";插入成功";)<;/script>;&#39;;
- Google统计
- PN-Traniger
- asp.net:用类来后台绑定数据源
- mcrypt.h not found. Please reinstall libmcrypt
- java设计模式之Proxy(代理模式)
- Scala基础 - 下划线使用指南
- 阿里云手动搭建k8s搭建中遇到的问题解决(持续更新)
- Java并发框架——AQS中断的支持
- Python 第八阶段 学习记录之---算法
- MySQL下载与安装
- Redis数据结构以及应用场景
- 详解Android属性动画
- mysql参数innodb_flush_log_at_trx_commit
- go语言使用go-sciter创建桌面应用(三) 事件处理,函数与方法定义,go与tiscript之间相互调用
- NTP 服务器搭建
- 利用overflow-x实现横向滚动的xiaoguo
- CMUSphinx Learn - Basic concepts of speech
- Spring框架的AOP技术(注解方式)