## 两个基本原则: 1、将转移到老年代的对象数量降到最少。 2、减少Full GC的执行时间。目标是Minor GC时间在100ms以内,Full GC时间在1s以内。 ## 主要调优参数:

阅读全文 »

## xtables-addons是什么 xtables-addons是一款基于国家GeoIP信息来识别网络流量,用于netfilter/iptables的过滤器扩展。其采用了模块化设计理念,并通过内部的xt_geoip模块实现信息过滤。 在你的Linux系统上,可以很方便的自行编译或通过RPM包安装的方式来构建xtables-addons,而无需重新编译内核或是iptables,构建完成后即可立即使用而无需重启服务或系统。

阅读全文 »

刚遇到一个问题,ssh连上之后执行任何命令都提示-bash: fork: Cannot allocate memory

经过排查是进程数超过了最大进程数导致的

查看最大进程数: sysctl kernel.pid_max

查看进程数:ps -eLf | wc -l

临时加大最大进程数:echo 1000000 > /proc/sys/kernel/pid_max

也可使之永久生效:echo "kernel.pid_max=1000000 " >> /etc/sysctl.conf && sysctl -p

这是mongodb自带的性能监控工具,可以提供mongos和mongod的运行状态 用法如下: mongostat --host 127.0.0.1:36001 -u root -p 123456 --authenticationDatabase admin 注意,在副本集或者分片集群的环境下,需要使用集群管理员进行认证

阅读全文 »

存储引擎(Storage Engine)是MongoDB的核心组件,负责管理数据如何存储在硬盘(Disk)和内存(Memory)上。从MongoDB 3.2 版本开始,MongoDB 支持多数据存储引擎(Storage Engine),MongoDB支持的存储引擎有:WiredTiger,MMAPv1和In-Memory。

阅读全文 »

## 为什么需要Sharded cluster? MongoDB目前3大核心优势:『灵活模式』+ 『高可用性』 + 『可扩展性』,通过json文档来实现灵活模式,通过复制集来保证高可用,通过Sharded cluster来保证可扩展性。 当MongoDB复制集遇到下面的业务场景时,你就需要考虑使用Sharded cluster ● 存储容量需求超出单机磁盘容量 ● 活跃的数据集超出单机内存容量,导致很多请求都要从磁盘读取数据,影响性能 ● 写IOPS超出单个MongoDB节点的写服务能力

阅读全文 »