原创 Elasticsearch集羣監控:elasticsearch_exporter + Prometheus + Grafana

  前言 選擇grafana作爲監控是因爲它展示出來很漂亮,而且可下載到前人使用過的配置文件,能夠快速的搭建起監控系統;選擇elasticsearch_exporter是因爲它與ES集羣是分開獨立的,不需要對原有的ES集羣(可能有很多個)

原创 linux環境shell腳本 壓縮 解壓 安裝 備份文件夾

使用方法: 1.  cd bin;  執行build.sh文件,會打包與bin目錄同層級的目錄py_common,生成打包文件py_common_install_V0.01.bsx 2. 執行bash py_common_install_

原创 iptables添加ACCEPT規則,注意順序,需要REJECT規則之前

1. 查看       iptables --line -nvL INPUT      得到第一列的num序號 2. 允許100.xxx.xxx.10機器訪問本機8888端口,此處num應該比REJECT規則序號小,否則ACCEPT生效

原创 "python setup.py egg_info" failed with error code 1---更新setuptools再重新install

Collecting gevent==1.4.0 (from -r requirements.txt (line 17))   Downloading http://mirrors.xxxxx.com/pypi/packages/ed/2

原创 python dict字典 items()和iteritems()多線程遍歷

items()和iteritems()區別: 一、兩個函數的作用 字典的items方法作用:是可以將字典中的所有項,以列表方式返回。因爲字典是無序的,所以用items方法返回字典的所有項,也是沒有順序的。 字典的iteritems方法作用

原创 python dict字典循環遍歷性能 iteritems比items快

dict字典循環遍歷,從測試結果看,iteritems比items快一個數量級  In [32]: def add_dic(a, num): ...: for i in range(num): ...:

原创 String淺拷貝、引用計數和深拷貝

1. 淺拷貝 淺拷貝,是指原對象與拷貝對象共用一份實體,僅僅是對象名字不同而已(類似引用,即對原對象起別名),其中任何一個對象改變都會導致其他的對象也跟着它變。 #include <stdio.h> #include <string.h

原创 C++靜態庫與動態庫

轉自C++靜態庫與動態庫 這次分享的宗旨是——讓大家學會創建與使用靜態庫、動態庫,知道靜態庫與動態庫的區別,知道使用的時候如何選擇。這裏不深入介紹靜態庫、動態庫的底層格式,內存佈局等,有興趣的同學,推薦一本書《程序員的自我修養——鏈接、裝

原创 gdb的工作原理

轉載自gdb的工作原理 一、gdb簡介   gdb:GNU debugger    UNIX及UNIX-like下一個強大的命令行的調試工具    gdb調試的整體架構如下圖所示:       可以發現gdb調試不管是本地調試還是遠程調

原创 sql注入原理及預防

通過把SQL命令插入到Web表單遞交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令。 具體來說,它是利用現有應用程序,將(惡意)的SQL命令注入到後臺數據庫引擎執行的能力,它可以通過在Web表單中輸入(惡意)SQ

原创 Mysql千萬級別的大表,要如何優化

根據不同的業務,優化的側重點可能不一樣,大體上可以歸納瞭如下一下方法,建議優化的時候要考慮成本問題, 最好是改動又少又快,效果還又好;改動越大越容易出各種問題。 大部分博文都沒有提到硬件升級的方法,這種方法比較適合於短時間急需提高性能的場

原创 MySQL表設計

目錄   1. 選擇存儲引擎 2. 表結構設計 3. 主鍵 4. 選擇數據類型 更小的通常更好 簡單就好 儘量避免NULL 數據類型儘量用數字型,數字型的比較比字符型的快很多 (1). 整數類型 (2). 實數類型 (3). 字符串類型

原创 如何設計一個健壯的後端服務

轉載自如何健壯你的後端服務?  對每一個程序員而言,故障都是懸在頭上的達摩克利斯之劍,都唯恐避之不及,如何避免故障是每一個程序員都在苦苦追尋希望解決的問題。對於這一問題,大家都可以從需求分析、架構設計 、代碼編寫、測試、code revi

原创 Google V8 JavaScript引擎在服務器端的使用

v8簡介: V8是一個由丹麥Google開發的開源JavaScript引擎,用於Google Chrome中 V8在執行之前將JavaScript編譯成了機器碼,而非位元組碼或是直譯它,以此提升效能。更進一步,使用瞭如內聯緩存(inli

原创 缺少動態鏈接庫: libthrift-0.9.3.so: cannot open shared object file: No such file or directory

[root@localhost gen-cpp]# ./CppServer  ./CppServer: error while loading shared libraries: libthrift-0.9.3.so: cannot