File tree 1 file changed +5
-5
lines changed 1 file changed +5
-5
lines changed Original file line number Diff line number Diff line change 1
1
[[hardware]]
2
2
=== 硬件
3
3
4
- 按照正常的流程,你可能已经 ((("deployment", "hardware")))((("hardware")))在自己的笔记本电脑或集群上使用了 Elasticsearch。
4
+ 按照正常的流程,((("deployment", "hardware")))((("hardware")))你可能已经在自己的笔记本电脑或集群上使用了 Elasticsearch。
5
5
但是当要部署 Elasticsearch 到生产环境时,有一些建议是你需要考虑的。这里没有什么必须要遵守的准则,Elasticsearch 被用于在众多的机器上处理各种任务。基于我们在生产环境使用 Elasticsearch 集群的经验,这些建议可以为你提供一个好的起点。
6
6
7
7
==== 内存
27
27
.检查你的 I/O 调度程序
28
28
****
29
29
如果你正在使用 SSDs,确保你的系统 I/O 调度程序是((("I/O scheduler")))配置正确的。
30
- 当你向硬盘写数据,I/O 调度程序决定何时把数据
31
- _实际_ 发送到硬盘。 大多数默认 *nix 发行版下的调度程序都叫做 `cfq`(完全公平队列)。
30
+ 当你向硬盘写数据,I/O 调度程序决定何时把数据实际发送到硬盘。
31
+ 大多数默认 *nix 发行版下的调度程序都叫做 `cfq`(完全公平队列)。
32
32
33
33
调度程序分配 _时间片_ 到每个进程。并且优化这些到硬盘的众多队列的传递。但它是为旋转介质优化的:
34
34
机械硬盘的固有特性意味着它写入数据到基于物理布局的硬盘会更高效。
35
35
36
- 这对 SSD 来说是低效的,然而, 尽管这里没有涉及到机械硬盘。但是,`deadline` 或者 `noop` 应该被使用。`deadline` 调度程序基于写入等待时间进行优化,
36
+ 这对 SSD 来说是低效的,尽管这里没有涉及到机械硬盘。但是,`deadline` 或者 `noop` 应该被使用。`deadline` 调度程序基于写入等待时间进行优化,
37
37
`noop` 只是一个简单的 FIFO 队列。
38
38
39
39
这个简单的更改可以带来显著的影响。仅仅是使用正确的调度程序,我们看到了500倍的写入能力提升。
@@ -58,7 +58,7 @@ Elasticsearch 假定所有节点都是平等的--并不会因为有一半的节
58
58
和 NAS 的争论类似,每个人都声称他们的数据中心间的线路都是健壮和低延时的。这是真的--直到它不是时(网络失败终究是会发生的,你可以相信它)。
59
59
从我们的经验来看,处理跨数据中心集群的麻烦事是根本不值得的。
60
60
61
- ==== 一般注意事项
61
+ ==== 注意事项
62
62
63
63
获取真正的高配机器在今天是可能的:((("hardware", "general considerations")))成百 GB 的 RAM 和几十个 CPU 核心。
64
64
反之,在云平台上串联起成千的小虚拟机也是可能的,例如 EC2。哪种方式是最好的?
You can’t perform that action at this time.
0 commit comments