單表數據量:202908463(2億多條記錄),物理容量:單文件50個,上圖:

環境:php7.3 MySQL5.7 think-Orm 核心庫
測試環節:寫入數據庫以億為單位的數據
1:think-Orm的Db庫長時間寫入數據,每次寫入1000條數據,發生內存泄漏,希望官方有看到這個文章進行改進。上圖


2:改用自己封裝單文件pdo類庫文件,循環插入數據,每次插入5萬條,本想每次插入10條,結果10萬條報錯,將就5萬每次插入。上圖

單文件pdo庫分享
3:PHP程序查詢總計多少條記錄耗時:
think-Orm框架查詢耗時:

數據庫直連SQL查詢耗時:


通過真實環境測試,數據IO是最吃內存和CPU,所以項目的瓶頸常常在于數據庫性能。
代碼的優劣能起到一定作用,但解決不了本質。
當數據量大到一定程度,比拼的的就是物理硬件和軟件的綜合調優水平,這個才是我們要努力的方向。
參考技術點:
硬件升級層面:升級cup,升級內存,帶寬。
軟件開發層面:分庫,分表,緩存,中間件等。每一塊的東西都夠我們學習研究很長時間,發現問題,解決問題才是編碼的正確姿勢,不要一味聽一些空大虛的講座,意義不大。
項目實操才是重點,有更多項目實操,有更多的業務場景解決方案,才是程序員向企業主要更高薪資的底氣。
此篇技術測試類文章,做這個測試文章的初衷是因為一句話。
一個認識的老程序員,在菊花廠干了10多年,后來出來創業又搞了幾年,編碼年齡小20年,主要技術棧是JAVA和Python,平時聊一些技術方面的東西,估計是有做過
一些外包項目,合作伙伴是php寫的,應該是做黃了,尾款沒有收回來,這種情況很常見,誰能保證每個外包項目都做成能呢。
所以對php產生了一些偏見,認為php程序員水平不行,php語言性能不行,帶有一些主觀色彩,
這篇文章就是為php來證明,來證明php是世界上最好的語言之一,是解決問題的最佳工具。
工具的利害性,取決于開發人員的相對性,人有最復雜奇妙的想象力,所以為什么不用最便捷,最省成本的方案來做事情呢。