- 关闭交换分区:因为Linux采用了三级页表虚存管理,关闭交换分区可以减少系统IO,页面换入唤出时所耗费的总线时间以及减少系统中断次数;swap的使用会显著增加延迟和降低吞吐量。
- 文件描述符配置:任何网络应用都需要增加文件描述符的数量,默认进程的文件描述符是1024. 我们进行网络IO,打开文件,管道,内存映射等操作都需要文件描述符资源;一般调整到65532;
- JVM内存设置: max(节点系统内存/2, 32G),因为JVM有一项技术叫指针压缩技术,如果地址大于4字节的,无法压缩到4字节,只能用8个字节存放地址,造成内存浪费,另外,内存越大,从概率上来讲,GC的effort越大,时间越长。另外,真正在工作的是Lucene分片,也需要给他预留足够的内存;
- mlock技术:用C语言写过服务的同学队mlock这个系统调用应该不会感到陌生,这个可以使得堆内存被锁定,不被MMU进行换入唤出,对高并发服务端系统这个是必须的,就像我们对于一些高并发的C语言系统,需要自己使用伙伴算法和slab/slob内存管理算法管理内存;
- 线程池和队列大小:ES并发处理请求的能力,根据业务自行调整,不建议非常大;
- 建索引:不建议大报文频繁建索引,可以把写入过程理解为一次embeding,只不过我们用的是非常简单的TF-IDF算法,分词越多,生成的倒排索引规模越大,对性能消耗越大,对于一些复杂的embeding算法,更加建议使用向量数据库。一般只对需要搜索的字段建索引,然后由上层应用去聚合输出;
- 根据业务优先级,紧急程度,使用队列消峰限速写入ES;
ElasticSearch常用优化点
清风19812025-03-26 22:17
相关推荐
jikemaoshiyanshi5 小时前
AWS 中国峰会 2026 有哪些 AI Agent 相关演讲可以看?按业务、研发与生产阶段选看神王宝宝 王者小学5 小时前
HBase: 看上去很美科技圈观察8 小时前
选哪家服务商做跨境业务KYC数字身份认证和合规支持?2026出海选型参考名不经传的养虾人11 小时前
从0到1:企业级AI项目迭代日记 Vol.82|审批不再只写数据库,而是真正恢复执行A-刘晨阳11 小时前
数据主权时代:自主可控时序大模型TimechoAI筑牢关键基础设施安全防线Wise_Heart11 小时前
研发管理从“人治“到“数治“,全星APQP深度测评laboratory agent开发11 小时前
深耕数字化赛道,解析不同定位的小程序公司发展与能力2601_9494999412 小时前
芯瑞科技 DT-1414 光模块工程实测:完美兼容博通(安华高) HFBR-1414PTZ,VCSEL 替代方案Elasticsearch12 小时前
一个字段,覆盖所有模态:Elasticsearch 的 semantic 字段如何自动索引和搜索图像、音频、视频和 PDFDatabend12 小时前
从万亿级大模型到全线应用:Databend Cloud 助力头部 AI 企业构建全链路 Trace 数据管道