Submitted by admin on 2018, October 29, 11:32 AM
https://www.cnblogs.com/kevingrace/p/5919021.html
https://www.jianshu.com/p/e3ccb75bd813
centos | 评论 :0
| Trackbacks :0
| 阅读 :470
Submitted by admin on 2018, October 12, 5:04 PM
1123 git clone https://github.com/mrvautin/adminMongo
1124 cd adminMongo/
1129 npm install
1130 npm start
mongodb | 评论 :0
| Trackbacks :0
| 阅读 :377
Submitted by admin on 2018, October 12, 5:01 PM
今天看了mongodb的官方文档中的WiredTiger Storage Engine ,说说我对WiredTiger Storage Engine 的理解!
在mongodb3.2版本以后,wiredTiger 存储引擎为默认的储存引擎。
Document Level Concurrency
WiredTiger 的写操作使用了Document 级别的并发控制,因此多个clients可以同时同一个collection 中的不同的document 进行修改。
为了尽可能多的读和写操作,WiredTiger 使用了optimistic concurrency control(乐观的并发控制),相当于乐观锁,WiredTiger的全局的专一的锁,仅仅存在于database 和 collections 级别,例如:drop 一个collections,需要一个database级别的锁。当存储引擎在database 和collection的锁之间发生冲突时,其中的一个将会引发数据库写的冲突导致mongdb 去重新进行此操作。
Snapshots and Checkpoints
WiredTiger 使用 多版本并发控制(MVCC)。再开始的操作中,WiredTiger 为这个事务提供一个数据的时间点的快照(snapshot),一个快照呈现一组在内存中的数据的视图。
当写进磁盘时,WiredTiger 把所有的在snapshot中的数据通过相同的方法传递到磁盘中的数据文件。把在数据文件中的久经耐用的数据作为一个检查站(checkpoint),这个检查站确保数据文件和上一个检查站的数据是一致的,包括最后一个检查站。eg:检查站可以作为数据的恢复的点。mongodb配置的WiredTiger 去创建的站点是在间隔60秒或者2 GB的日志数据。
在写一个新的站点期间,如果前面一个站点仍然是有效的,就这点而论,如果mongodb 意外结束或者突然遇到一个错误,再重新开始之前,mongodb 可以从上一个有效的checkpoint恢复数据。
当WiredTiger 元数据的表被原子性的更新到新的检查站点的说明文档时,这个新的站点变得可用和稳定,一但新的站点变的可用,WiredTiger会释放pages从旧的检查站点。
Journal
WiredTiger 使用一个write-ahead 处理log, 并且结合检查站点去确保数据的耐久性。
WiredTiger 日志呈现了所有的数据在检查站点之间的变化,如果mongodb在检查站点之间退出,它使用日志去重新从上一个检查站点更新所有的被修改的数据,信息更新的频率和mongodb把日志数据写到磁盘的频率相同。WiredTiger 的日志是使用了快速压缩库被压缩,如果自己想指定一个混合的压缩运算或者不压缩使用 storage.wiredTiger.engineConfig.journalCompressor
WiredTiger的最小的log 记录大小是128 bytes。如果一个log 记录小于等于128 bytes, WiredTiger 不会压缩这个log 记录。
Compression
在 mongodb中,使用WiredTiger ,mongodb 支持压缩为所有的collection 和index ,压缩是使用额外CPU的开支减少存储空间。默认的情况下,WiredTiger使用块级别的压缩,所有的collections 被使用快速压缩库,所有的索引(index)被使用前缀压缩。在压缩collections 的时候 ,块级别的压缩用 zlib 也是可用的,去指定一个轮流的压缩运算或者不压缩,使用storage.wiredTiger.collectionConfig.blockCompressor ,假如你不想去压缩index,你可以看下storage.wiredTiger.indexConfig.prefixCompression
对于大多数工作的负载,默认的压缩设置平衡了存储效率和处理要求。
Memory Use
mongodb 使用WiredTiger,mongodb 利用WiredTiger内部的cache和文件系统的cache。
在mongdb 3.4 的版本以后,WiredTiger 内部的cache将变得更大:50%内存减去1GB 或者是256MG,通过文件系统的cache ,mongodb 自动的使用所有的空闲的内存,这些内存是不被WiredTiger cache 或者其他进程使用的。数据是在文件系统的cache里被压缩的。去调整WiredTiger内部cache 的大小可以看storage.wiredTiger.engineConfig.cacheSizeGB 。
切记 ,不要调整WiredTiger内部cache的大小超过默认值。
mongodb | 评论 :0
| Trackbacks :0
| 阅读 :414
Submitted by admin on 2018, October 12, 5:00 PM
如何检查当前mongodb是否启用了WiredTiger存储引擎?
可以至少通过以下2种方法 验证:
1、在Linux/OSX上执行如下的命令
WIREDTIGER_CONFIGURED= `ps - ef| grep mongod| grep - i storageengine| grep - ic wiredtiger`
echo ${ WIREDTIGER_CONFIGURED}
如果返回为1则说明当前系统中运行着一个以WiredTiger为存储引擎的mongod
2、在Linux/OSX上执行如下的命令
echo "db.serverStatus()" | mongo| grep wiredTiger
若返回信息中有wiredTiger,则说明该mongo连接到了一个启用了wiredTiger存储引擎的mongod.
注意对于启用了wiredTiger的文件路径–dbpath,无法再使用默认mmapv1存储引擎打开,例如:
ac: mongodata maclean$ mongod -- storageEngine wiredTiger -- dbpath / Users/ maclean/ mongodata
mongodb | 评论 :0
| Trackbacks :0
| 阅读 :451
Submitted by admin on 2018, October 12, 4:59 PM
1.MongoDB 3.2之后默认启动的是wiredTiger 引擎这个引擎和原来的引擎访问方式不一样。你用命令mongod --storageEngine mmapv1 --dbpath 数据目录 这样启动的是原来的数据引擎在用MongoVE连接就可以了
2.WiredTiger
MongoDB自身拥有MMAPv1引擎,在3.0版本中加入了之前收购的WiredTiger的存储引擎技术。
通过 WiredTiger,MongoDB 3.0 实现了文档级别的并发控制(Concurrency Control),因此大幅提升了大并发下的写负载。
用户可以自己选择储存数据的压缩比例,MongoDB 3.0提供最高达80%的压缩率,不过压缩率越高数据处理的时间成本也越多,用户可以自行权衡应用。
MMAPv1
增强了集合(collection)级别的并发控制
启动WiredTiger
mongod --storageEngine wiredTiger
---------------------
作者:风灵使
来源:CSDN
原文:https://blog.csdn.net/wulex/article/details/51800612?utm_source=copy
版权声明:本文为博主原创文章,转载请附上博文链接!
mongodb | 评论 :0
| Trackbacks :0
| 阅读 :540
Submitted by admin on 2018, October 12, 4:58 PM
教程提供了改变独立MongoDB实例的存储引擎为wiredtiger存储引擎的概述。
注意:
本教程使用mongodump和mongorestore工具导出和导入数据,确保MongoDB组件安装在你的系统之中,另外,确保使用WiredTiger运行的MongoDB实例有足够的存储空间供mongodump导出文件和数据文件。
1.启动将要使用WiredTiger存储引擎的mongo实例
2.使用mongodump导出数据
mongodump --out <exportDataDestination>
适当的指定其他的参数选项,如果开启了authorization认证加上username和password
3.为使用WiredTiger存储引擎运行的mongod实例创建一个目录,mongod必须对这个目录拥有读和写的权限
4.启动mongod实例并且指定存储引擎为WiredTiger和数据存储目录
mongod --storageEngine wiredTiger --dbpath <newWiredTigerDBPath>
5.使用mongorestore导入数据文件
mongorestore <exportDataDestination>
---------------------
作者:随风yy
来源:CSDN
原文:https://blog.csdn.net/yaomingyang/article/details/74913707?utm_source=copy
版权声明:本文为博主原创文章,转载请附上博文链接!
mongodb | 评论 :0
| Trackbacks :0
| 阅读 :460
Submitted by admin on 2018, September 7, 1:52 PM
使用 HAProxy 加速 Shadowsocks
最近用 ss 上网的速度越来越慢,工作日晚上 Google 都很难连上。ping 了下服务器,发现都在 300、400 ms,或者 time_out,得想些方法加速一下。
后来发现 ss 支持中继,那么只要有一个服务器,连接自己电脑和 ss 服务器都很快的话就能实现加速。下面选了阿里云作为中继服务器进行实践。
1
客户端 < - > 中继服务器 < - > Shadowsocks 服务器
在自己电脑上 ping 中继服务器,中继服务器 ping ss 服务器,延迟分别为 10+ ms、60+ ms。阿里云的出口带宽果然不一样。加速条件满足,开始进入安装配置。
HAProxy
简单介绍下 HAProxy,HAProxy 是一个高效的负载均衡软件,可以实现 TCP/HTTP 的代理。这里使用它将我们发给它的请求转发给 ss 服务器。
安装
1 2
// 以 CentOS 7 为例 yum install haproxy
配置
编辑 /etc/haproxy/haproxy.cfg
,保存以下内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
global ulimit -n 51200 defaults log global mode tcp option dontlognull contimeout 1000 clitimeout 150000 srvtimeout 150000 frontend ss-in bind *:8388 default_backend ss-out backend ss-out server server1 222.222.222.222:2222 maxconn 20480
其中,*:8388
中的 8388 是中继服务器接受请求的端口,222.222.222.222:2222
是 ss 服务器的 IP 地址加端口号。
然后执行
1
service haproxy restart
HAProxy 就会在后台进行启动。可以使用 ps -ef
查看进程,lsof -i
查看端口占用情况来验证 HAProxy 是否已经运行。若无法连接中继服务器,使用 iptables -L
查看防火墙规则是否有问题。
客户端的配置,只要将原来配置的 ip 地址和端口更换成中继服务器的 ip 地址和端口号就可以了。
未解之迷
加速之后,公司电脑和手机使用都没问题,个人电脑却死活连不上去,一直显示 ERR_CONNECTION_CLOSED
,将原来的 Shadowsocks Mac 客户端替换成 Shadowsocks-libev
之后才行,但明明公司电脑使用的客户端是一样的。
其他加速方法
除 HAProxy 加速之外,还可以使用微林加速,具体可以参考代码家的提速 Shadowsocks 。还有个更偷懒的方法,直接购买 CN2 线路的 Shadowsocks。
参考
linux | 评论 :0
| Trackbacks :0
| 阅读 :528
Submitted by admin on 2018, September 5, 1:28 PM
ubuntu 安装QT 5.0出现错误:Failed to load platform plugin "xcb".
apt-get install "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-dev
-----
robo3t-1.2.1-linux
apt-get install libgl1-mesa-dev
-------
use admin
db.runCommand({logRotate:1})
----------
mongodb常见问题
https://www.cnblogs.com/bethal/p/5551967.html
---------------
mongodb 命令行基本命令使用大全
https://blog.csdn.net/qq_27093465/article/details/54601598
-------------------
apt-get install mongodb
mongodb | 评论 :0
| Trackbacks :0
| 阅读 :558