原创 es nested字段的空值查詢問題

使用的es 版本6.x 最近的工作中需要對es中nested字段進行空值查詢?原以爲很簡單的事情,卻幾經周折。下面把整個心歷路程總結一下,希望後來的同人少走彎路。 如何進行空值查詢,網上一搜一大把,不約而同的說採用es exists關鍵字

原创 跳躍表的實現

//轉載自http://redisbook1e.readthedocs.org/en/latest/preview/skiplist/datastruct.html Redis 的跳躍表由 redis.h/zskiplistNode

原创 TCP全連接隊列和半連接隊列已滿之後的連接建立過程抓包分析

最近項目需要做單機100萬長連接與高併發的服務器,我們開發完服務器以後,通過自己搭的高速壓測框架壓測服務端的時候,發生了奇怪的現象,就是服務端莫名其妙的少接收了連接,造成了數據包的丟失,通過網上查資料,和自己的實踐,下面是我做實驗,抓包分

原创 使用pthread互斥體+條件變量實現讀寫鎖

//最近在學習《高性能mysql》的時候,提到了讀寫鎖,讀鎖是共享鎖,寫鎖是排它鎖,還有項目中也提到了讀寫鎖的概念。進而想弄清楚,讀寫鎖的實現機制, //只有明白了讀寫鎖的實現機制,才能明白讀寫鎖對性能的影響 //本程序採用的是pthre

原创 linux多進程可伸縮模型探索

最近,在工作中遇到了一個需求,希望網絡框架可以動態的增加或者減少進程數。採用多進程模型,可以提高服務的併發性。雲平臺提供的服務都是多租戶的,每個用戶對併發性的需求是不一樣的。如果接入層同時爲多個用戶提供服務,可能會出現相資源競爭、相互干擾

原创 一致性hash算法釋義

//轉載至http://www.cnblogs.com/haippy/archive/2011/12/10/2282943.html 一致性Hash算法背景   一致性哈希算法在1997年由麻省理工學院的Karger等人在解決分佈式

原创 STL容器默認的內存分配器(std::alloc)

//轉載至http://blog.csdn.net/pud_zha/article/details/16860411 原文在描述 size_t __bytes_to_get =   2 * __total_bytes + _S_round

原创 linux c、c++高併發服務內存泄露追蹤分析

最近,我一直忙於追蹤分析,咱公司高併發代理服務器內存一直佔用過高的問題。該問題表現如下,使用python腳本壓測,服務器使用的物理內存一直飆升很快上G、虛擬內存更是高達數10G,沒有下降的趨勢。當壓測程序停止運行後,整個服務佔用的物理內存

原创 CentOS-5.4-i386-bin-DVD源碼安裝mysql-5.6.17

需要使用cmake編譯mysql-5.6.17 cmake下載地址:http://www.cmake.org/files/v2.8/ 此次下載cmake version 2.8.10.2 首先解壓cmake-2.8.10.2.tar.gz

原创 搭建nghttp2.0作爲apns服務的代理的相關問題總結

搭建nghttpx作爲apns服務的代理的過程中遇到的2個主要問題: 簡介: 使用nghttp2作爲連接apns的代理 該代理的特點是,frontend接收HTTP1.1協議,採用明文 backend接收

原创 一鍵安裝nghttp2.0

一鍵安裝nghttp2 python版本獲取腳本 python_version.py,內容如下: import sys print (sys.version) 安裝腳本  nghttp2_install.sh,內容如下: #! /

原创 運行在mac 下的vmware 虛擬機中的Linux中安裝 vmware tools

安裝步驟: 1.首先打開虛擬機,點擊如下圖所示的高亮菜單項——Virtual Machine/虛擬機,彈出菜單。由於筆者已經成功安裝了VMware Tools,所以顯示的是Reinstall VMware Tools,如果是未安裝的話,將

原创 理解fastcgi在nginx服務器下的通訊方式

最好的理解莫過於demo實例 參考http://docs.oracle.com/cd/E19146-01/820-0872/auto136/index.html         http://www.fastcgi.com/devkit/

原创 對nginx中utf-8編碼格式解析函數的理解

/*  * ngx_utf8_decode() decodes two and more bytes UTF sequences only  * the return values:  *    0x80 - 0x10ffff    

原创 網絡傳輸協議之二進制反碼校驗和剖析

什麼是二進制反碼求和? 對一個無符號數,先求其反碼(按位取反之意,與有符號數中定義的反碼錶示是不相同的),然後從低位到高位,按位相加,等於2則進1,若最高位有進位,需要向最低位加1。 在這個定義中,與補碼加法有些區別的是,若最高位有進位,