如何使用 APM 搞定 PHP 应用的性能优化?

APM 究竟是什么?

很多人都是第一次听说 APM 的概念,本文主要阐述如何使用 APM 的解决方案来实现 PHP 应用性能的优化。首先先介绍一下 APM (Application Performance Management)即应用性能管理,对企业系统即时监控以实现对应用程序性能管理和故障管理的系统化的解决方案。

应用性能管理是一个比较新的网络管理方向,主要指对企业的关键业务应用进行监测、优化,提高企业应用的可靠性与质量,保证用户得到良好的服务,降低 IT 总所有成本(Total Cost of Ownership,简称 TCO)。一个企业的关键业务应用的性能强大,可以提高竞争力,并取得商业成功,因此,加强应用性能管理(APM)可以带来巨大商业利益。

支持的语言和环境

兼容性和安装要求

本文,以国内应用性能管理领军企业 OneAPM举例,他们支持的应用服务器和应用框架如下表所示:

1.操作系统

CentOS 5.5 以上
Ubuntu 11 以上
RedHat Enterprise Linux (RHEL) 5 及以上

2.PHP 版本

PHP 5.2.13 及以上
PHP 5.3 及以上
PHP 5.4 及以上
PHP 5.5 及以上
PHP 5.6 及以上

3.数据库

mysql [mysql , pdo , mysqli]

4.WebServer

Apache 的 mod_php 模式(线程安全与非线程安全)
FastCGI 模式(例如:php-fpm)

5.明确不支持的框架

Yaf

6.可以安装的框架

WordPress
Drupal
Magento
Zend
CakePHP
Codelgniter
Symfony
Laravel
ThinkPHP
Discuz
Yii
所有基于 PHP 语言写的框架都可以安装 PHP-Agent

7.兼容的扩展

<table>
<tbody>
<tr><td>bz2</td><td>calendar</td><td>Core</td></tr>
<tr><td>ctype</td><td>curl</td><td>date</td></tr>
<tr><td>dom</td><td>ereg</td><td>exif</td></tr>

<tr><td>fileinfo</td><td>filter</td><td>ftp</td></tr>
<tr><td>gd</td><td>gettext</td><td>gmp</td></tr>
<tr><td>hash</td><td>iconv</td><td>imap</td></tr>
<tr><td>json</td><td>ldap</td><td>libxml</td></tr>
<tr><td>mysql</td><td>mysqli</td><td>odbc</td></tr>
<tr><td>openssl</td><td>pcntl</td><td>pcre</td></tr>
<tr><td>PDO</td><td>pdo_mysql</td><td>PDO_ODBC</td></tr>

<tr><td>pdo_sqlite</td><td>Phar</td><td>readline</td></tr>
<tr><td>Reflection</td><td>session</td><td>shmop</td></tr>
<tr><td>SimpleXML</td><td>pdo_mysql</td><td>sockets</td></tr>
<tr><td>SPL</td><td>sqlite3</td><td>standard</td></tr>
<tr><td>tokenizer</td><td>wddx</td><td>xml</td></tr>
<tr><td>xmlreader</td><td>xmlrpc</td><td>xmlwriter</td></tr>
<tr><td>xsl</td><td>zip</td><td>zlib</td></tr>

</tbody>
</table>

功能

1.应用架构自动建模

下载探针并安装就绪后,平台会自动识别并加载服务器上的应用

《如何使用 APM 搞定 PHP 应用的性能优化?》 如何使用 APM 搞定 PHP 应用的性能优化?

总览全局性能

《如何使用 APM 搞定 PHP 应用的性能优化?》 如何使用 APM 搞定 PHP 应用的性能优化?

应用首页的应用性能总览,能够让你迅速感知应用的健康程度和总体性能状态与问题。以总览为入口,可以轻松追溯至地理信息、关键事务、错误统计等性能度量点,完成应用性能管理工作。在应用性能总览中,包括以下信息:响应时间,性能指数,吞吐量(单位:rpm 每分钟请求数),关键事务,错误率,近期事件,服务器信息

自动分析应用程序拓扑

《如何使用 APM 搞定 PHP 应用的性能优化?》 如何使用 APM 搞定 PHP 应用的性能优化?

Web 事务

《如何使用 APM 搞定 PHP 应用的性能优化?》 如何使用 APM 搞定 PHP 应用的性能优化?

慢事务追踪

《如何使用 APM 搞定 PHP 应用的性能优化?》 如何使用 APM 搞定 PHP 应用的性能优化?

2.代码级别的性能诊断

《如何使用 APM 搞定 PHP 应用的性能优化?》 如何使用 APM 搞定 PHP 应用的性能优化?

《如何使用 APM 搞定 PHP 应用的性能优化?》 如何使用 APM 搞定 PHP 应用的性能优化?

3.数据库

《如何使用 APM 搞定 PHP 应用的性能优化?》 如何使用 APM 搞定 PHP 应用的性能优化?

详情

《如何使用 APM 搞定 PHP 应用的性能优化?》 如何使用 APM 搞定 PHP 应用的性能优化?

慢 SQL 诊断

《如何使用 APM 搞定 PHP 应用的性能优化?》 如何使用 APM 搞定 PHP 应用的性能优化?

4.外部服务

《如何使用 APM 搞定 PHP 应用的性能优化?》 如何使用 APM 搞定 PHP 应用的性能优化?

5.后端监控

《如何使用 APM 搞定 PHP 应用的性能优化?》 如何使用 APM 搞定 PHP 应用的性能优化?

6.错误信息

《如何使用 APM 搞定 PHP 应用的性能优化?》 如何使用 APM 搞定 PHP 应用的性能优化?

7.报表
Web 事务

《如何使用 APM 搞定 PHP 应用的性能优化?》 如何使用 APM 搞定 PHP 应用的性能优化?

数据库

《如何使用 APM 搞定 PHP 应用的性能优化?》 如何使用 APM 搞定 PHP 应用的性能优化?

8.设置
服务器环境

《如何使用 APM 搞定 PHP 应用的性能优化?》 如何使用 APM 搞定 PHP 应用的性能优化?

自定义事务

《如何使用 APM 搞定 PHP 应用的性能优化?》 如何使用 APM 搞定 PHP 应用的性能优化?

9.关键事务

《如何使用 APM 搞定 PHP 应用的性能优化?》 如何使用 APM 搞定 PHP 应用的性能优化?

9.报警策略

《如何使用 APM 搞定 PHP 应用的性能优化?》 如何使用 APM 搞定 PHP 应用的性能优化?

报警策略可为应用程序,关键事务分别设置
设置方法如下

a.触发
性能指数
设置多少分钟内为 警示值
设置多少分钟内为 发送警报

错误率
设置多少百分的平均错误率在多少分钟内为 警示值
设置多少百分的平均错误率在多少分钟内为 发送警报

b.通知方式
邮件,短信,邮件+短信

c.分派
应用
设置具体哪些应用采用此策略

用户
设置具体哪些用户为此策略响应

告警集成
alert 说明—–此处需修改

报警记录
报警记录类别分为 通知、宕机、严重问题、告警问题

安装

《如何使用 APM 搞定 PHP 应用的性能优化?》 如何使用 APM 搞定 PHP 应用的性能优化?

1.获取授权编号
服务器会自动生成「License Key」授权编号

2.下载
从页面中下载 OneAPM PHP Agent

或使用 wget 在线获取安装包

3.安装
解压 Agent 安装包

tar -xzf OneAPM_php_Agent_latest.tar.gz
定位至「安装包所在路径」

cd oneapm-php5-linux-install-script
执行安装脚本

sudo ./oneapm-install
在提示输入「License Key」时,输入「License Key」

等待安装脚本执行。若出现以下信息,则安装成功。

OneAPM is now installed on your system. Congratulations!

4.重启
重启 Apache 或 php-fpm。
然后,稍等片刻,等待 OneAPM 接收 Agent 发送的数据。

查阅更多文档

PHP Agent Release Note

PHP Agent 安装方法

PHP 兼容环境和功能列表

PHP Agent 参数配置

**定价 **

《如何使用 APM 搞定 PHP 应用的性能优化?》 http://www.oneapm.com/ai/price.html

团队

《如何使用 APM 搞定 PHP 应用的性能优化?》 如何使用 APM 搞定 PHP 应用的性能优化?

社区
http://oneapm.club/

其他产品

《如何使用 APM 搞定 PHP 应用的性能优化?》 如何使用 APM 搞定 PHP 应用的性能优化?

详悉错误报告

无论是私人数据中心,还是公共云,亦或是 Hybrid-Cloud,OneAPM 同样适用。

按照浏览器和地理信息 2 种分类方式,对真实用户的页面加载时间等性能数据进行查看,快速区隔出需要优化性能的浏览器类型和区域用户。

关键事务 Top 5,平均响应时间、吞吐量这些性能查看方式,帮助你快速定位性能瓶颈;事务的深度 Traces 记录,协助你完成应用性能管理从抽象到具象的追溯过程。

智能的报警机制,在性能瓶颈出现前,修复性能问题,防止性能问题导致用户流失。

深度追溯细节

OneAPM 提供整齐划一的界面,让你能够无障碍地完成从真实用户体验,到应用服务器,直至应用代码的端到端应用性能管理。

OneAPM 支持团队协助,能够帮助一个团队完成应用性能管理工作,包括:事务的深度性能剖析、浏览器 Traces 记录查看、关键事务性能分析、事务 Traces 记录查看。

为什么选择 OneAPM ?

OneAPM 是国内首家支持 PHP 的应用性能管理云解决方案,通过 Saas 向用户提供统一的入口、友好的界面、便捷的流程,来管理和监控应用程序的性能,并完成从前端、到网络、直至应用代码的端到端应用性能管理,让你随时随地变身运维专家。

OneAPM 面向开发者和中小型企业,无需企业级的花费,就可以达到企业级的应用性能管理效果。基础设施监控、多语言支持、真实用户体验监控、事务深度追溯和分析,使用 OneAPM 就可以帮你全部搞定 !

    原文作者:OneAPM
    原文地址: https://www.jianshu.com/p/c1f22944e7f6
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞