• 如何使用 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.兼容的扩展

    bz2calendarCore
    ctypecurldate
    domeregexif
    fileinfofilterftp
    gdgettextgmp
    hashiconvimap
    jsonldaplibxml
    mysqlmysqliodbc
    opensslpcntlpcre
    PDOpdo_mysqlPDO_ODBC
    pdo_sqlitePharreadline
    Reflectionsessionshmop
    SimpleXMLpdo_mysqlsockets
    SPLsqlite3standard
    tokenizerwddxxml
    xmlreaderxmlrpcxmlwriter
    xslzipzlib

    功能

    1.应用架构自动建模

    下载探针并安装就绪后,平台会自动识别并加载服务器上的应用
    如何使用 APM 搞定 PHP 应用的性能优化?

    总览全局性能

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

    自动分析应用程序拓扑

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

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

    慢事务追踪
    如何使用 APM 搞定 PHP 应用的性能优化?

    2.代码级别的性能诊断
    如何使用 APM 搞定 PHP 应用的性能优化?
    如何使用 APM 搞定 PHP 应用的性能优化?

    3.数据库
    如何使用 APM 搞定 PHP 应用的性能优化?
    详情
    如何使用 APM 搞定 PHP 应用的性能优化?
    慢 SQL 诊断
    如何使用 APM 搞定 PHP 应用的性能优化?

    4.外部服务
    如何使用 APM 搞定 PHP 应用的性能优化?

    5.后端监控
    如何使用 APM 搞定 PHP 应用的性能优化?

    6.错误信息
    如何使用 APM 搞定 PHP 应用的性能优化?

    7.报表
    Web 事务
    如何使用 APM 搞定 PHP 应用的性能优化?
    数据库
    如何使用 APM 搞定 PHP 应用的性能优化?

    8.设置
    服务器环境
    如何使用 APM 搞定 PHP 应用的性能优化?
    自定义事务
    如何使用 APM 搞定 PHP 应用的性能优化?

    9.关键事务
    如何使用 APM 搞定 PHP 应用的性能优化?

    9.报警策略
    如何使用 APM 搞定 PHP 应用的性能优化?
    报警策略可为应用程序,关键事务分别设置
    设置方法如下

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

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

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

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

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

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

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

    安装

    如何使用 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 参数配置

    **定价 **

    http://www.oneapm.com/ai/price.html

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

    社区
    http://oneapm.club/

    其他产品
    如何使用 APM 搞定 PHP 应用的性能优化?

    详悉错误报告

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

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

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

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

    深度追溯细节

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

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

    为什么选择 OneAPM ?

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

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

  • 相关阅读:
    MyBatis 学习记录3 MapperMethod类
    MyBatis 学习记录2 Mapper对象是如何生成的
    MyBatis 学习记录1 一个简单的demo
    hadoop学习记录1 初始hadoop
    Java枚举类的serialVersionUID
    docker学习记录1
    mysql utf8方式连接查看表数据乱码的问题
    在Spring中使用Redis Lua脚本批量删除缓存
    redis 批量删除键
    前后端分离跨域问题解决方案
  • 原文地址:https://www.cnblogs.com/oneapm/p/4872261.html
Copyright © 2020-2023  润新知