[發明專利]一種PHP應用實時性能數據采集分析方法和系統在審
| 申請號: | 202010774335.4 | 申請日: | 2020-08-05 |
| 公開(公告)號: | CN112100021A | 公開(公告)日: | 2020-12-18 |
| 發明(設計)人: | 高馳濤;李忠益;王鴻杰 | 申請(專利權)人: | 云智慧(北京)科技有限公司 |
| 主分類號: | G06F11/30 | 分類號: | G06F11/30;G06F9/448;G06F9/455 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100080 北京市海淀*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 php 應用 實時 性能 數據 采集 分析 方法 系統 | ||
本發明涉及一種PHP應用實時性能數據采集分析方法和系統。方法包括步驟:S1、執行黑名單初始化過程;S2、執行替換和掛載鉤子的指針操作;S3、初始化運行棧和函數字典,通過已經掛載的鉤子獲取函數名并記錄函數的開始時間,通過函數名判斷是否存在于黑名單中;S4、在函數運行結束之后獲取函數的參數并記錄結束時間,判斷是否存在于函數字典中;S5、歸還已經替換和掛載的鉤子指針;S6、銷毀函數黑名單。借此,能夠通過替換和掛載鉤子進行引擎的擴展,實現應用代碼無修改零侵入的性能數據采集,尤其是,借助函數黑名單算法,可以在提升數據價值的同時,降低對原應用系統的性能損耗。
技術領域
本發明屬于APM領域(APM,Application Performance ManagementMonitoring,應用性能管理以及監控),具體涉及一種基于PHP擴展機制的PHP應用實時性能數據采集分析方法和系統,主要應用于PHP應用性能監控與優化,幫助企業定位PHP應用的性能瓶頸(PHP:HyperText Preprocessor,超文本預處理器)。
背景技術
PHP是一種通用的開源腳本語言,該語言的語法吸收了C語言、Java和Perl(Practical Extraction and Report Language,實用報表提取語言)的特點,并混合了PHP自創的語法。PHP易于學習、使用廣泛,適用于Web開發領域。與CGI(Common GateInterface,通用網關接口)或者Perl相比,PHP可以更快速地執行動態網頁:PHP將程序嵌入到HTML(HyperText Markup Language,超文本標記語言)文檔中去執行,執行效率比完成生成HTML標記的CGI要高許多;并且PHP還可以執行編譯后代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。
基于PHP強大的可擴展性與敏捷迭代的特性,目前PHP已經成為互聯網科技公司的必備語言,為互聯網的發展提供著源源不斷的動力。
與此同時,基于PHP開源軟件和開發框架(優秀的開發擴展包括:WordPress、ZendFramework、Laravel、Yaf、Hiphop)也在不斷地發展,使得PHP也被除互聯網之外的企業所大規模使用從而進入企業級應用開發語言之列。
對于使用PHP開發的網站、接口、應用系統而言,常見的性能瓶頸點包括:遞歸、循環、資源操作、資源釋放,這些瓶頸點比如遞歸深度過大、不恰當的循環等問題會造成阻塞或鎖。這些瓶頸點帶來的CPU、內存、各種I/O、網絡帶寬等(可歸納為外部服務(如第三方API)/資源讀寫/代碼異常)消耗是性能瓶頸的重中之重。
處理這些問題的通用做法是使用埋點注入和日志來查找PHP性能瓶頸,并依賴于架構師或者高級工程師的經驗來處理這些瓶頸,使用的方法包括:單例、事務、按需加載、短事務、及時釋放等等。但發生在生產環境的事故雖然能夠得到補救,但大多面臨著因功能受損而造成的用戶投訴或者更嚴重的業務損失。
能夠在生產環境第一時間發現或規避可能的性能問題、并準確記錄已知或未知故障現場,則成為PHP應用性能管理的迫切需求。
發明內容
為了解決現有技術的上述問題,一方面,本發明提供一種PHP應用實時性能數據采集分析方法,可以利用PHP語言擴展機制,通過動態方法替換,實現用戶代碼零侵入、零修改,自動獲取和分析代碼執行時間、代碼運行棧、數據庫和緩存操作語句、接口調用時間和狀態、本地文件讀寫時間和狀態。
為了達到上述目的,本發明采用的主要技術方案包括:
一種PHP應用實時性能數據采集分析方法,其包括如下步驟:
S1、執行黑名單初始化過程;
S2、執行替換和掛載鉤子的指針操作;
S3、初始化運行棧和函數字典,通過已經掛載的鉤子獲取函數名并記錄函數的開始時間,通過函數名判斷是否存在于黑名單中;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于云智慧(北京)科技有限公司,未經云智慧(北京)科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010774335.4/2.html,轉載請聲明來源鉆瓜專利網。





