1. 程式人生 > >Python+Django應用效能分析——使用工具AppDynamics

Python+Django應用效能分析——使用工具AppDynamics

選擇Python做Web開發目前也是比較流行的,開發的應用呼叫資料庫、第三方服務是常有的操作,當應用效能出現不如意的情況時,快速、準確定位它的根本原因是開發和運維最想要做的事情。AppDynamics能達到程式碼級監控,可以看到程式的堆疊呼叫過程,快速、準確的找到響應慢、執行出錯的類/方法以及所在的程式碼行數,可以抓取程式呼叫的SQL語句詳情,以及第三方介面呼叫次數、響應時間等。
  • 本文主要講解Python環境下AppDynamics監控代理的安裝配置。
AppDynamnics Saas賬號的註冊,及監控效果的檢視和故障定位請參看我的另一篇文章《APM應用效能管理監控體驗-appdynamics》Python、Java、PHP等的監控分析使用方式一樣,所以此處就不重複寫了。

pythonAgent代理安裝

登陸AppDynamics的Controller控制檯,從Home→Getting Started→Getting Started Wizard進入配置嚮導。由於是做Python監控,所以在嚮導頁面選擇Python第一步環境檢查目前AppDynamics官方文件說明支援CPython 2.6, 2.7, 3.3, 3.4, 3.5, 和 3.6版本,支援Linux和MacOS X10.8+環境,暫不支援Windows下部署。支援監控基於WSGI環境的應用;非WSGI的獨立Python程式也支援監控,但是需要修改程式原始碼,呼叫相應的SDK API,本文不介紹這一塊。前面配置資訊保持預設,第四步配置應用名和層名,可以選擇已有的應用,這裡我是建立新的應用名和層名注:層名即模組名,當多個節點組成叢集時,模組名起成一樣的。
第五步部署方法選擇最後一項Process Launcher/Manager第六步是安裝PythonAgent根據第1步在Python應用所在伺服器使用pip install appdynamics安裝pythonAgent代理*注意:如果是全域性環境下啟動Python,則使用全域性環境的使用者安裝;如果是在虛擬環境下啟動Python,則使用該虛擬環境的使用者安裝。在啟動Python的使用者有訪問許可權的地方建立一個配置檔案,我建立的路徑如下:/etc/appdynamics.cfg,將第2步中的配置資訊複製貼上進去。重啟Python應用假設之前啟動Python應用使用的命令是gunicorn -w 8 -b '0.0.0.0:9000' example.app:application現在將其改為如下命令pyagent run -c /etc/appdynamics.cfg -- gunicorn -w 8 -b '0.0.0.0:9000' example.app:application即在原命令前加上pyagent run -c /etc/appdynamics.cfg --

重啟完成後開啟Controller控制檯,在Applications中看到Python應用資訊,則表示代理配置成功。官方文件參看如下地址: