12 曦轩

尚未进行身份认证

我要认证

Im a Software Designer

等级
TA的排名 3w+

MongoDB 执行计划 & 优化器简介 (上)

最近,由于工作需求去了解一下Query是如何在MongoDB内部进行处理,从而丢给存储引擎的。里面涉及了Query执行计划和优化器的相关代码,MongoDB整体思路设计的干净利落,有些地方深入挖一下其实还是能有些优化点的。本文会涉及一条Query被parse之后一路走到引擎之前,都做了那些事情,分析基于MongoDB v3.4.6代码。由于篇幅过长,文章分为上下两篇,分别介绍执行计划 & ...

2018-09-28 18:24:28

RocksDB 事务及MVCC实现分析

RocksDB TransactionDB事务及MVCC实现原理浅析

2017-11-30 10:55:58

Golang scheduler调度器简介

Golang Scheduler

2017-06-17 16:31:24

Golang 在数据库Replication场景下的应用及GC算法

分享KeyNotes总结

2017-06-17 16:13:44

MongoDB WiredTiger 存储引擎cache_pool设计 (下) -- 实践篇

之前的文章《MongoDB WiredTiger 存储引擎cache_pool设计 (上) – 原理篇》和大家分享WiredTiger的整体架构和Cache Pool相关的设计,这篇来介绍下阿里云MongoDB线上出现的问题,及改进措施。

2017-02-17 14:07:52

MongoDB WiredTiger 存储引擎(1) cache_pool设计

0. 前言最近由于工作需要,阅读了WiredTiger部分代码,感觉有的地方还是很值得学习的,准备搞个系列文章,笔者不是精通WiredTiger的大神,国内对WiredTiger深入分析的人不多,只是想在这里跟大家一起讨论一起学习。笔者在Gitlab上建了一个WiredTiger代码注释版本,基于v2.8.1,如有问题大家可以在Gitlab留言,issue!1. MongoDB 多引擎体系 – Wi

2017-01-20 20:54:27

Pictures

图片如下

2016-04-22 12:13:22

Nesty 高性能轻量级Http Restful Server

Nesty 轻量级Http Restful Server,通过Netty NIO非阻塞实现IO的高并发和异步,非侵入式编程。支持类SpringMVC的HTTP注解,可以平滑前移,开发成本低

2016-04-06 15:32:36

Java -- Class装载机制及ClassLoader

Java – Class装载机制及ClassLoader

2015-12-23 16:24:58

分布式系统设计系列 -- 基本原理及高可用策略

分布式系统设计系列之 -- 基本原理及高可用策略篇这篇文章主要介绍一些入门的概念和原理,后面带来一些高可用、数据分布的实践方法!

2014-07-03 21:16:47

分布式系统设计系列 -- 概要

在现在的“大数据”、“云平台”这些前沿技术的背景下,衍生了很多平台型技术点,Nosql、Hadoop、Storm等层出不穷。这些华丽的技术后面其实处处都离不开“分布式”这个虽然提出了很久,但是大数据、云计算带火了的技术。以致于开个玩笑说,如果不懂一些“分布式"下的技术和原理的,会有点不好意思说自己是后端开发 -- (玩笑而已!! ^_^)。

2014-07-03 19:22:50

Linux -- 内存控制之oom killer机制及代码分析

线上一些内存占用比较敏感的应用,在访问峰值的时候,偶尔会被kill掉,导致服务重启。发现是Linux的out-of-memory kiiler的机制触发的。

2014-04-18 15:04:29

Java -- ExecutorService线程池触发的Full GC问题排查

今天在线上Java代码里,处理了一个由ExecutorServicec线程池引发的问题,将处理过程和一些调试沉淀下来。分布式任务处理模块中,有一个Java daemon进程,通过队列接受Java代码描述的任务(jar),产生子进程(单独的JVM)class loader,处理定义的Java代码,并收集日志、处理结果等,子进程数量在百级。

2014-04-02 19:55:10

Linux -- Pagecache 文件缓存特性

今天看@褚霸的博客,看到了几篇关于pagecache、slab的几篇好文章,转一下!原创文章,转载请注明: 转载自系统技术非业余研究本文链接地址: Linux下谁在消耗我们的cacheLinux下对文件的访问和设备的访问通常会被cache起来加快访问速度,这个是系统的默认行为。 而cache需要耗费我们的内存,虽然这个内存最后可以通过echo 3>/proc

2013-09-30 13:05:54

MySQL性能优化的最佳20+条经验

今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。1. 为

2013-07-31 16:07:50

Java -- Hotspot虚拟机调优与GC垃圾回收策略

(先扯扯Java,热热身) 论坛上,经常看到有些人讨论c、c++、java哪个更快,哪个更主流等的口水贴,吵的乐此不疲。其实个人感觉Java 1.6之后性能和开发效率都提高了不少,虽然不像直接编译成机器码的语言一样,但是Java特有的JVM动态优化器、JIT即时编译器对热点代码都提供了动态编译和即时优化,而且开源的库也比较多,开发效率也比较高。不过,Java在高性能IO、大内存使用上还是有些自

2013-07-16 18:49:12

分布式选主 -- 利用Mysql ACID和Lease协议实现选主和高可用

在实际生产开发中,遇到一些多节点共存,需要选主,并且要实现HA自动容错的场景,思考了写方法拿出来和大家分享一下。Lease协议,Mysql ACID高可用选主方案设计适用场景Java语言实现描述进一步优化      系统中有很多应用场景要类似主从架构,主服务器(Master)对外提供服务,从服务器(Salve)热备份,不提供服务但随时活着,如果Master出现宕机或者网络问题,Sl

2013-05-23 18:13:00

Java如何实现多态性,基于itable, vtable源码分析

在Java实现中我们常使用多态性,在java里主要是通过itable, vtable来实现准确的跳转。Vtable: 虚拟函数表该类所有函数自有函数(除了static, final)和 父类的函数虚拟表。结构:vtableEntry | vtableEntry |vtableEntry...是以vtableEntry 结构体的数组顺序结构,在每个entry

2013-05-03 12:36:25

Java -- common基础类库Google Guava和Guice

很久没更新文章了,最近忙于系统上线,同时拾起来一年多没写过的Java,做一些平台化,系统组件的开发。之后准备通过拜读一下HBase的代码来提升自己对Java的认识。以前写c/c++时,可选的Base库并不是特别多,boost、libev、libaio取之可数。最近用到了写Java的基础框架的库(SSH之类的就不说了),比如MyBaties、DBCP、Guice、Guava等。准备拿出些比较经典的和

2013-03-21 15:35:48

C/C++ -- 编程中的内存屏障(Memory Barriers) (2)

在前面的文章里,主要介绍了一下内存屏障的基本认识,和基本原理。本文针对之前的思路继续聊一聊该如何处理相应的问题,以及一些多线程程序编程的技巧。      1.  Volatile关键字      2.  Linux pthread线程锁      3.  Linux gcc 4.2之后的__sync_fetch_and_add      4.  双Buffer实现Lock fr

2012-11-29 12:47:53

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取