原创 Kafka : php 安裝 Kafka 擴展

準備工作 安裝 librdkafka 庫 git clone https://github.com/edenhill/librdkafka.git ./configure make sudo make install 安裝 php-rd

原创 面試-mysql篇-分區分表

首先採用Mysql存儲千億級的數據,確實是一項非常大的挑戰。Mysql單表確實可以存儲10億級的數據,只是這個時候性能非常差,項目中大量的實驗證明,Mysql單表容量在500萬左右,性能處於最佳狀態。 針對大表的優化,主要是通過數據庫分庫

原创 面試-mysql篇-SQL優化

有時候我們會遇到:在查詢sql的時候,假如有100w條數據,會出現慢sql告警,這個時候你就應該到處sql日誌來查找原因了。這裏很有可能的主要原因就是沒有命中索引和沒有分頁處理(原因有很多種,主要分析你的日誌)。那接下來我們就得去優化sq

原创 面試-PHP篇-Nginx實現高併發和常見的優化手段

面試題: Nginx 是如何實現併發的?爲什麼 Nginx 不使用多線程?Nginx常見的優化手段有哪些?502錯誤可能原因有哪些? 面試官心理分析 主要是看應聘人員的對NGINX的基本原理是否熟悉,因爲大多數運維人員多多少少都懂點NGI

原创 面試-PHP篇-workman和swoole區別和異同

workerman和swoole在現階段很受爭議,有時間你得認識認識,不然你就不是混php圈子的。swoole是使用C語言實現的socket通信框架,workerman則是使用純php實現的socket框架,二者進程模型上也存在很多的不同

原创 面試-Redis篇-Redis有序集合實現多字段排序

排行榜需求:根據分數進行排序,分數相同時根據時間並列排序。 根據分數排序很容易實現:   正序 $redis = Yii::$app->redis->zrange($key,$start,$end,true); //倒序 $redis

原创 面試-Redis篇-Redis雪崩、穿透、擊穿

面試官:關於Redis雪崩,穿透,擊穿你是怎麼理解的? Redis 雪崩: 雪崩就是指緩存中大批量熱點數據過期後系統涌入大量查詢請求,因爲大部分數據在Redis層已經失效,請求滲透到數據庫層,大批量請求猶如洪水一般涌入,引起數據庫壓力造成

原创 面試-mysql篇-慢查詢優化

這一篇mysql優化是注重於查詢優化,根據mysql的執行情況,判斷mysql什麼時候需要優化,關於數據庫開始階段的數據庫邏輯、物理結構的設計結構優化不是本文重點,下次再談 查看mysql語句的執行情況,判斷是否需要進行優化 當感覺操作

原创 面試-PHP篇-依賴注入和控制反轉

什麼是依賴注入? IOC:英文全稱:Inversion of Control,中文名稱:控制反轉,它還有個名字叫依賴注入(Dependency Injection,簡稱DI)。 當一個類的實例需要另一個類的實例協助時,在傳統的程序設計過程

原创 面試-mysql篇-mysql鎖解決高併發

利用Mysql的鎖來解決高併發的問題,先看沒有利用事務的時候併發的後果 創建庫存管理表 CREATE TABLE `storage` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT,

原创 面試-PHP篇-yield

yield生成器是php5.5之後出現的,yield提供了一種更容易的方法來實現簡單的迭代對象,相比較定義類實現 Iterator 接口的方式,性能開銷和複雜性大大降低。 yield生成器允許你 在 foreach 代碼塊中寫代碼來迭代一

原创 面試-PHP篇-PHP-FPM多進程模型

  此篇爲系列第一篇:PHP-FPM的多進程模型。那麼,我們談論PHP-FPM多進程模型的時候,作爲PHPer的你,可能需要先看看下面一些關於PHP-FPM的多進程模型,是否都有所瞭解 ①:PHP-FPM啓動進程的方式主要有哪幾種,區別是

原创 面試-mysql篇-提高mysql千萬級數據SQL查詢優化30條

看看你用到了哪些: 1.對查詢進行優化,應儘量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索引。 2.應儘量避免在 where 子句中對字段進行 null 值判斷,否則將導致引擎放棄使用索引而進行全表掃描,

原创 面試-PHP篇-cookie和session

一、Cookie (1)工作原理         Cookie 是一種在遠程瀏覽器端儲存數據並以此來跟蹤和識別用戶的機制,是一種由服務器向客戶端發送的片段信息。         Cookie的中文含義是“小甜餅”,是很小很小的文件,它存儲

原创 面試-PHP篇-nginx搭建及加固

Nginx安裝及配置 Nginx (engine x) 是一個高性能的HTTP和反向代理web服務器,同時也提供了IMAP/POP3/SMTP服務 安裝 我是用的環境是centos 7,系統默認的yum源沒有nginx,找到一個使用ngi