分类 技术 下的文章

elasticsearch index、create和update的源码分析

社区里面有人问了如下一个问题:

执行 bulk 索引文档的时候,用 index 或者 create 类型并且自定义 doc id 的情况下,是否会像 update 一样每次都要去 get 一遍原始文档? 比如下面的这条命令:
```
POST _bulk

{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" } }
{ "field1" : "value1" }
{ "create" : { "_index" : "test", "_type" : "type1", "_id" : "3" } }
{ "field1" : "value3" }
```

问题出现的原因是他们在 bulk 测试的时候遇到了写性能的问题,而正巧社区里面前几天有这么一个类似的帖子,说的是 es 5.x 版本里面做 update 操作的性能问题。虽然和这个问题不完全一致,但都涉及到 es 索引数据的部分。

侯捷老师说:“源码面前,了无秘密”,那我们就来简单看下 es 这部分的相关代码,以便回答开篇提出的问题。

- 阅读剩余部分 -

Elasticsearch 压测方案之 esrally 简介

由于 Elasticsearch(后文简称es) 的简单易用及其在大数据处理方面的良好性能,越来越多的公司选用 es 作为自己的业务解决方案。然而在引入新的解决方案前,不免要做一番调研和测试,本文便是介绍官方的一个 es 压测工具 esrally,希望能为大家带来帮助。

- 阅读剩余部分 -

gethostname的背后机制

有些应用在启动的过程中为了更友好的展示,会自动去获取当前机器的hostname,这时会调用到gethostname系统调用,通过man gethostname可以查看其详情,但其背后又是怎样一个流程呢?我们通过strace来看一下。

- 阅读剩余部分 -

ssh登录的调试方法和常见问题

ssh登录服务器是程序猿日常生活必不可少的一部分,也时不时的会遇到自己配置ssh登录的问题,拿日常使用的git来讲,不管使用github也好,还是自己搭建的gitlab等等,如果不能很好的理解ssh的原理,极容易遇到各种问题。这篇文章就尝试向大家简单讲解下ssh的原理、调试方式和常见问题。这里要讲的主要是免密码登录,也就是使用密钥登录的方式。

- 阅读剩余部分 -