原创 簡易發佈系統實現過程

1.爲方便以下在同一臺機器完成,但在真實環境,可以通過ssh等工具實現不同主機之間的代碼同步 2.文件目錄說明     a.源碼宿主機源碼地址     b.目標主機rsyn地址(源碼rsync的目標地址)     c.目標主機備份地址(主

原创 Linux 性能排查

性能排查 1.首先查看平均負載(load average),平均負載可以反映系統的繁忙程度。理想情況下,平均負載等於邏輯cpu個數,這表示每個cpu都恰好被充分利用。如果平均負載大於邏輯cpu個數,表示負載比較重     工具:    

原创 一次項目的反思及總結

最近一段時間接了一個項目,於是找了兩個小夥伴一起做。做這個項目的過程中,不僅暴露的筆者的一些不足,同時也深深體會了到在一個項目的開發過程中,隊友的能力及項目溝通的重要性。 暴露的問題 1.作爲負責人,在需求的對接方面明顯不足,雖然大體方向

原创 I/O同步異步及阻塞非阻塞

以前對同步阻塞、同步非阻塞、異步阻塞、異步非阻塞這個幾個概念很迷茫,也很難理解。在我的意識中,阻塞和同步應該是一個概念,非阻塞和異步也應該是一個概念。直到最近讀了一些大神的書才慢慢理解這之間的區別。 總的來說,是一個阻塞與同步,非阻塞與異

原创 web併發策略

在考查服務器性能時,服務器處理請求的能力與其內部實現的併發方式直接相關。以下是幾種併發方式說明,來自《構建高性能Web站點》。 1.一個進程處理一個請求連接。非阻塞I/O     一個主進程,負責接收請求,當接收到請求時,主進程fork一

原创 進程、線程、虛擬地址、用戶態、內核態等名稱解釋

進程:     進程是操作系統對一個正在運行的程序的一種抽象,在一個系統上可以同時運行多個進程,而每個進程都好像在獨佔地使用硬件      每個進程獨立不可見     fork產生子進程。每個子進程都是父進程的一個副本,它會擁有父進程的數

原创 MySQL 文件說明

配置文件 my.cnf   查詢方式: mysql --help | grep my.cnf 日誌文件:   錯誤日誌: SHOW VARIABLES LIKE 'log_error' \G;   慢查詢日誌: SHOW VARIABLE

原创 小雨傘觸達系統設計

觸達是一種重要的服務路徑。隨着業務的場景增加及多樣化。如果不對觸達進行有效的管控,那麼日後的風險將會越來越大。下面是一篇我發表在小雨技術的一篇文章。這批文章主要講述小雨傘觸達系統的發展,其中包括原有觸達的痛點,新觸達系統設計方案及新觸達系

原创 MySQL 索引成本

添加成本: DBMS會將索引添加至其索引鍵所屬的葉子頁上,但是該葉子頁可能沒有足夠的空間來存放這個索引行,在這種情況下,DBMS將會分裂葉子頁,其中一個半的行將被移動到一個新的葉子頁上,並儘可能地靠近被分裂頁(每個葉子頁上預留部分比例的空

原创 MySQL 三星索引

表:TEST 列:A,B,C,D,E,F 索引:idx_a_b_c(A,B,C) A列:過濾因子1%  B列:過濾因子10% 第一顆星,保證最窄的索引片 SELECT A,B,C,D,E,F FROM TEST WHERE A=A1 AN

原创 MySQL一次慢查詢的分析

基礎信息 表結構如下: CREATE TABLE `test`.`user_income` (   `id` INT NOT NULL,   `user_id` INT NOT NULL,   `amount` BIGINT(20) NO

原创 MySQL InnoDB 總結

 InnoDB 高效保障: 1.Innodb 緩存池,不止緩存索引,也緩存數據頁和其他數據。充分的利用內存讀寫快的特性(磁盤讀寫和內存讀寫不是一個數量級) 2.索引實現以B+ tree 形式實現。減少磁盤尋道次數(IO讀取)    B+

原创 MySQL讀書筆記--行鎖的三種算法(幻讀的解決)

Record Lock:單個行記錄上的鎖(非唯一索引) Gap Lock: 間隙鎖,鎖定一個範圍,但不包含記錄本身(可重複讀) Next-Key Lock: Gap Lock + Record Lock,鎖定一個範圍,並且鎖定記錄本身(可

原创 MySQL讀書筆記--Rollback與MVCC的實現原理

在MySQL讀書筆記--事務的ACID及實現中介紹一下重做日誌。在這本篇文章,只提及重做日誌中redo,並簡單介紹了它的作用和實現過程。其實在重做日誌中,還有一個重要組成部分---undo段。undo段是實現事務滾回和MVCC(多版本併發

原创 MySQL讀書筆記--InnoDB索引

索引的本質是通過某種特定的算法,減少I/O次數,以最快的速度和最少的I/O次數找到指定數據。 在InnoDB中,常見的索引有非聚簇索引(輔助索引),聚簇索引,全文索引,聯合索引(多列索引),覆蓋索引和哈希索引。 哈希索引:在InnoDB中