2017 · MongoDB深圳用户组大会全记录 | MongoDB中文社区
http://www.mongoing.com/2017/04/24/mongodb-shenzhen-user-group

Mongo Rocks
优化与实践
腾讯云

孔德雨
2017.04

Mongo Rocks
简介

使用Rocks DB作为存储引擎的Mongo DB服务

基于由facebook开源的Rocks DB

适用于TB级KV-persist业务

在SSD盘上表现优秀,专门为SSD盘的优化

Rocks对SSD的亲和性

Rocks
将随机写转化为顺序写,提高
SSD
使用寿命

Rocks
空间利用率高,
SSD
存储宝贵

Mongo Rocks事务性

Mongo DB单行事务性:

索引/数据/Oplog的一致性更新

利用Rocks DB::Write Batch实现

Mongo DB持久性:

基于Rocks DB::Sync WAL

支持定期刷盘/每次写入刷盘两种模式

Mongo DB隔离性:

Snap Shot Isolation级读写

基于Rocks的快速快照机制,支持Majority Read

w

get back to the slower clock rate that allows it to save more power

http://www.howtogeek.com/177790/why-you-cant-use-cpu-clock-speed-to-compare-computer-performance/

Why You Can’t Use CPU Clock Speed to Compare Computer Performance

Shopping for a new computer? Don’t pay too much attention to CPU clock speed. “CPU speed” was once an easy, if not completely accurate, way to compare two computers’ performance — just compare the GHz. But not anymore.

Modern CPUs are more than fast enough for most basic tasks, so you’ll also want to look at other things when it comes to comparing performance. For example, does the computer come with an SSD or a slower magnetic hard disk?

 

Why You Can’t Just Compare Clock Speeds

CPU clock speed, or clock rate, is measured in Hertz — generally in gigahertz, or GHz. A CPU’s clock speed rate is a measure of how many clock cycles a CPU can perform per second. For example, a CPU with a clock rate of 1.8 GHz can perform 1,800,000,000 clock cycles per second.

This seems simple on its face. The more clock cycles a CPU can perform, the more things it can get done, right? Well, yes and no.

On the one hand, clock speeds are useful when comparing similar CPUs in the same family. For example, let’s say you’re comparing two Intel Haswell Core i5 CPUs, which only differ in their clock rate. One runs at 3.4 GHz, and one runs at 2.6 GHz. In this case, the 3.4 GHz processor will perform 30% faster when they’re both running at their top speed. This is true because the processors are otherwise the same. But you can’t compare the Haswell Core i5’s CPU clock rate against another type of CPU, such as an AMD CPU, ARM CPU, or even an older Intel CPU.

This may not seem obvious at first, but it’s actually for a very simple reason. Modern CPUs are becoming much more efficient. That is, they can get more work done per clock cycle. For example, Intel released Pentium 4 chips clocked at 3.6 GHz in 2006. It’s now the end of 2013 and the latest, fastest Intel Haswell Core i7 CPUs are clocked at 3.9 GHz from the factory. Does that mean CPU performance has only improved a tiny bit in seven years? Not at all!

Instead, the Core i7 CPU can simply do much more during each clock cycle. It’s important to look not just at clock cycles but at the amount of work a CPU can do per clock cycle. All other things being equal, fewer clock cycles with more work are better than more clock cycles with less — fewer clock cycles means the CPU requires less power and produces less heat.

In addition, modern processors also have other improvements that allow them to perform faster. This includes additional CPU cores and larger amounts of CPU cache memory that the CPU can work with.

Dynamic Clock Speed Adjustments

Modern CPUs also aren’t fixed at a single speed, particularly laptop, smartphone, tablet, and other mobile CPUs where power efficiency and heat production are major concerns. Instead, the CPU runs at a slower speed when idle (or when you’re not doing too much) and a faster speed under load. The CPU dynamically increases and decreases its speed when needed. When doing something demanding, the CPU will increase its clock rate, get the work done as quickly as possible, and get back to the slower clock rate that allows it to save more power.

So, if you’re shopping for a laptop, you’ll also want to consider this. Bear in mind that cooling is a factor, too — a CPU in an Ultrabook may only be able to run at its top speed for a certain amount of time before running at a lower speed because it can’t be properly cooled. The CPU may not be able to maintain top speed all the time due to overheating concerns. On the other hand, a computer with the exact same CPU but better cooling may have better, more consistent performance at top speeds if it can keep the CPU cool enough to run at those top speeds for longer.

Other Hardware Matters, Especially Solid-State Drives

Other hardware is also very important when it comes to your computer’s general performance. For example, most computer users will probably consider a computer with a solid-state drive faster than a computer with a traditional magnetic hard drive in normal use, even if the computer with a traditional magnetic hard drive has a CPU that performs better. Hard disk access is a serious performance bottleneck. Whether a computer has an SSD will likely be a more important question than how fast its CPU is.

SSDs aren’t the only important piece of hardware, of course. Having more RAM will allow you to do more things at once without constantly swapping to your computer’s page file, while a more powerful graphics card will improve PC gaming performance more than a faster CPU. On the other hand, if all you want to do is browse the web, watch videos, and work on documents, a faster graphics card or even more RAM above a certain point won’t be noticeable.

How to Compare Computer Performance

You can’t simply look at a CPU speed number and know which computer is faster, or how much faster a computer will be in the real world. Most people also won’t necessarily notice CPU performance improvements above a certain point. For example, a MacBook Air or comparable Ultrabook has a slower Intel Haswell Core i5 processor that’s designed to save power and run as cool as possible. However, if you just want to browse the web, listen to music, watch videos, and work with documents, the CPU may well be fast enough that you wouldn’t notice the difference between it and a significantly faster desktop-class CPU. Not only is CPU clock rate not critical — CPU performance itself is becoming less critical.

On the other hand, if you plan on running several virtual machines, doing 3D modeling, and playing the latest PC games, you might care more about performance.

Before buying a laptop (or even a CPU for a desktop), you’ll probably want to look up actual benchmarks to see how the CPU stacks up compared to other CPUs in the real world. Actual benchmarks are the only really reliable way of comparing computer and CPU performance.


Speed isn’t everything when it comes to the modern laptop — battery life is also important. If a laptop performs well enough for you, it’s probably better to have a slower CPU that gets better battery life than a faster CPU you won’t notice.

Mongo Rocks 在SSD盘上表现优秀,专门为SSD盘的优化的更多相关文章

  1. 将Linux(ubuntu)安装到U盘上,实现即插即用

    说明: 本教程是说明如何将ubuntu系统安装到U盘上(也就是把U盘当做电脑的硬盘),可以实现U盘插到任何电脑上都能够在实体机上运行ubuntu系统,而且所有的运行配置都能被保存,相当于随身携带的一个 ...

  2. 选盘秘籍:用户如何选择SSD/SATA/SAS?

    先学习下一些专业词汇 IDE (Integrated Drive Electronics) 电子集成驱动器 它的本意是指把"硬盘控制器"与"盘体"集成在一起的硬 ...

  3. 把Arch Linux安装到U盘上的具体教程

    Arch Linux简介 Arch Linux(或称Arch)是一种以轻量简洁为设计理念的Linux发行版.其开发团队秉承简洁.优雅.正确和代码最小化的设计宗旨.Arch Linux 项目受 CRUX ...

  4. Win7下安装双系统Centos,并修复Centos引导加载程序安装在U盘上的问题

    1.使用U盘安装Centos时,磁盘分区划分要注意:系统(包含Win7)只能4个主分区,所以只能在删除一个主分区或者在扩展分区的空闲分区内建立目录. 2.Centos在安装步骤的最后,引导加载程序的选 ...

  5. 如何使用虚拟机在U盘上安装linux

    如何使用虚拟机在U盘上安装linux 将linux安装到U盘的方法有很多,我觉得用虚拟机还是很方便的,直接上干货 创建虚拟机 我用的vbox,vmware也一样.配置随意一点就好,配置高安装的也快. ...

  6. 使用pcs api往免费的百度网盘上传下载文件

    百度个人云盘空间大,完全免费,而且提供了pcs api供调用操作文件,在平时的项目里往里面保存一些文件是很实用的. 环境准备: 开通读写网盘的权限及获取access_token:http://blog ...

  7. USB系列之四:向U盘上写数据

    在<USB系列之三>中,我们实现了一系列的SCSI命令,在这个系列中,我们要实现向U盘上写扇区的命令,所以,本文相对比较容易,更多地是给出一个实现的源程序. 在<USB系列之三> ...

  8. 手把手教你“将系统安装在U盘”上,实现个人系统随身带!

    本教程纯原创,转载请标注来源. 本教程适用安装的操作系统:Win XP,Win 7,优麒麟,Ubuntu,deepin,linux. 优盘要求:最好是USB3.0,USB2.0也可以,但是优盘至少要求 ...

  9. U盘上安装Ubuntu系统 便捷式系统 - 赖大大

    简单介绍: U盘可以作为电脑的磁盘使用,在U盘上安装Ubuntu系统,只要有电脑,就可以轻松打开自己的系统, 方便又快捷,非常适合出差工作,学习使用. 另外,插入U盘后,需要我们就入电脑的Blos模式 ...

随机推荐

  1. sublime text 删除插件

    1.ctrl+shift+p 输入remove package 选择要删掉的插件即可 2.去掉产生临死文件的插件:phptools

  2. svn merge和branch分析

    [转载] 使用svn几年了,一直对分支和合并敬而远之,一来是因为分支的管理不该我操心,二来即使涉及到分支的管理,也不敢贸然使用合并功能,生怕合并出了问题对团队造成不良影响,最主要的原因是,自己对分支的 ...

  3. 通过jd2chm工具将html文档生存chm文档方法

    1.下载jd2chm.exe工具 2.下载后解压缩后先安装htmlhelp.exe 3.将jd2chm.exe文件拷贝到index.html所在文件夹中 4.打开命令行进入到index.html所在文 ...

  4. ReSharper插件功能介绍

    ReSharper是一款功能非常强悍的Visual Studio的辅助插件,这款插件可用于C#,VB.net,XML,Asp.net,XAML,和构建脚本.ReSharper 9.1版本大改进对 Ja ...

  5. Socket.BeginConnect 方法

    Socket.BeginConnect 方法 (IPAddress, Int32, AsyncCallback, Object) 开始一个对远程主机连接的异步请求. 主机由 IPAddress 和端口 ...

  6. SQLServer------聚集索引和非聚集索引的区别

    转载: http://www.cnblogs.com/flashicp/archive/2007/05/08/739245.html 建立非聚集索引(vid不是主键) create index idx ...

  7. JavaScript作用域原理——预编译

    JavaScript是一种脚本语言, 它的执行过程, 是一种翻译执行的过程.并且JavaScript是有预编译过程的,在执行每一段脚本代码之前, 都会首先处理var关键字和function定义式(函数 ...

  8. Spring 工作流程简单介绍

    Spring Web MVC 处理Http请求的大致过程: 一旦Http请求到来,DispatcherSevlet将负责将请求分发. DispatcherServlet可以认为是Spring提供的前端 ...

  9. php 数据库练习之租房子

    题目: 示例图 本次只做图4这个表,因为之前的都已做过 自己在mydb数据库建了一个house表 如图: 自己做的代码: <!DOCTYPE html PUBLIC "-//W3C// ...

  10. 【linux系列】vi模式下查找和替换

    一.查找 1.查找命令 /pattern<Enter> :向下查找pattern匹配字符串 ?pattern<Enter> :向上查找匹配字符串 在使用了查找命令之后,使用如下 ...