- 浏览: 5892 次
- 性别:
- 来自: 南京
最新评论
文章列表
本文根据王卫华老师在“高可用架构”微信群所做的《Elasticsearch实战经验分享》整理而成,转发请注明出处。
王卫华,百姓网资深开发工程师、架构师,具有10年+互联网从业经验,曾获得微软2002-2009 MVP荣誉称号。2008年就职百 ...
你应该始终运行的Java虚拟机(JVM)的最新版本,除非另有规定,Elasticsearch,特别是Lucene,是一个要求很高的软件,在单元测试和集成测试时,经常会发现JVM本身的错误。这些问题的范围从轻微到严重都会有,所以最好使用JVM最新版本,oracle的和openjdk均可以。另外在分布式应用中的不同机器之前请保持jdk版本一样,另外请不要调整JVM的设置。JVM有几百个设置,调整之后将会变得不稳定
高速的网络很明显对于分布式系统来说很重要,1G或者10G对于大规模集群来说非常的好。请尽量不要跨多个数据中心,一定要避免集群有很大的地理跨度。大延迟会导致调试和解决问题困难,因为ES集群中节点是平等的。类似于NAS的说法,每个人都声称,他们是强大的数据中心,他们之间的管道是低延迟的,直到你发现他出现了网络故障。从我们的经验,管理跨数据中心集群的是根本不值得的。
CPU:
ES对CPU需求不高,一般2-8核都常见,如果你需要在更快速的CPU和更多核的CPU之间选择,请选择多核的,多核并发速度将远远超过单核的速度
磁盘:
对于集群系统来说,磁盘很重要,特别是对于索引任务重的集群来说,磁盘是系统最慢的设备,意味着有很重的写任务的集群中,磁盘会成为一个瓶颈。所以,如果预算足够,请使用SSD(如果使用SSD,请确保你的操作系统的I/O计划配置正确,当你写东西到磁盘的使用,I/O计划将决定是否立刻放到磁盘,默认大多数使用的是cfq完全公平队列,此调度程序分配时间片到每个进程,然后优化了这些不同的队列到磁盘的交付。对于传统旋转盘的意味着它是更有效的 ...
硬件层面:
内存:
大小 :
可在在bin下面的elasticsearch启动文件中设置ES_HEAP_SIZE=10g来指定大小。
如果你的排序和聚合比较多,那么要注意,他们非常的消耗内存,所以我们要分配足够大的内存,64G机 ...
Nginx 配置文件详解(来自http://my.oschina.net/duxuefeng/blog/34880)
user nginx nginx;
#用户和组
worker_processes 8;
#工作进程,根据硬件调整,大于等于cpu核数
error_log logs/nginx_error.log crit;
#错误日志
pid logs/nginx.pid;
#pid放置的位置
worker_rlimit_nofile 204800;
#指定进程可以打开的最大描述符
这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文
件数(ulimit ...
nginx优化(2)
- 博客分类:
- nginx
web服务器的优化
优化参数加入/etc/sysctl.conf
执行 [root@abc]#/sbin/sysctl -p才能生效
内核参数:
net.ipv4.tcp_max_tw_buckets = 6000
timewait 的数量,默认是180000。
net.ipv4.ip_local_port_range = 1024 65000
允许系统打开的端口范围。
net.ipv4.tcp_tw_recycle ...
1、编译过程,默认为Debug 导致编译完后nginx较大,可考虑关闭debug,让nginx编译完后保持小巧,方法:在 auto/cc/gcc下注释掉
#Debug
CFLAGS=“¥CFLAGS -g”
2、找到CPU类型,针对特定CPU类型的编译优化
cat /proc/cpuinfo|grep "model name"
查询cpu
在GCC编译时使用-O
--with-cc-opt=‘-03’
--with-cpu-opt=。。。 包括pentium,pentiumpro,pentium3,pentium4,athlon,optron ...