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.兼容的扩展

bz2 calendar Core
ctype curl date
dom ereg exif
fileinfo filter ftp
gd gettext gmp
hash iconv imap
json ldap libxml
mysql mysqli odbc
openssl pcntl pcre
PDO pdo_mysql PDO_ODBC
pdo_sqlite Phar readline
Reflection session shmop
SimpleXML pdo_mysql sockets
SPL sqlite3 standard
tokenizer wddx xml
xmlreader xmlrpc xmlwriter
xsl zip zlib

功能

1.应用架构自动建模

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

总览全局性能


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

自动分析应用程序拓扑

Web 事务

慢事务追踪

2.代码级别的性能诊断

3.数据库

详情

慢 SQL 诊断

4.外部服务

5.后端监控

6.错误信息

7.报表
Web 事务

数据库

8.设置
服务器环境

自定义事务

9.关键事务

9.报警策略

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

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

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

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

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

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

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

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

安装


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://oneapm.club/

其他产品

详悉错误报告

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

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

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

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

深度追溯细节

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

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

为什么选择 OneAPM ?

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

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

如何使用 APM 搞定 PHP 应用的性能优化?的更多相关文章

  1. 【开源】简单4步搞定QQ登录,无需什么代码功底【无语言界限】

    说17号发超简单的教程就17号,qq核审通过后就封装了这个,现在放出来~~ 这个是我封装的一个开源项目:https://github.com/dunitian/LoTQQLogin ————————— ...

  2. 对百度WebUploader开源上传控件的二次封装,精简前端代码(两句代码搞定上传)

    前言 首先声明一下,我这个是对WebUploader开源上传控件的二次封装,底层还是WebUploader实现的,只是为了更简洁的使用他而已. 下面先介绍一下WebUploader 简介: WebUp ...

  3. 教你怎么半天搞定Docker

    首先,不要把docker想的那么高大,它不就是先做个镜像,然后通过docker像虚拟机一样跑起来嘛...docker其实在真实业务场景中还是非常有局限性的.Dockerfile脚本也没那么好写,有些应 ...

  4. 用ORM的思想操作XML文档,一个对象就搞定不要太简单。滚蛋吧!XmlDocument、XmlNode、Xml***……

    大家有没有这样的感受,一涉及XML文档操作就得百度一遍.是不是非!常!烦!.各种类型,各种方法,更别提为了找到一个节点多费劲.本来想写个XML操作的工具方法,写了两行一想既然XML文档是有规律的,如果 ...

  5. JS组件系列——又一款MVVM组件:Vue(一:30分钟搞定前端增删改查)

    前言:关于Vue框架,好几个月之前就听说过,了解一项新技术之后,总是处于观望状态,一直在犹豫要不要系统学习下.正好最近有点空,就去官网了解了下,看上去还不错的一个组件,就抽空研究了下.最近园子里vue ...

  6. JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(三):两个Viewmodel搞定增删改查

    前言:之前博主分享过knockoutJS和BootstrapTable的一些基础用法,都是写基础应用,根本谈不上封装,仅仅是避免了html控件的取值和赋值,远远没有将MVVM的精妙展现出来.最近项目打 ...

  7. 如何让两个div在同一行显示?一个float搞定

    最近在学习div和css,遇到了一些问题也解决了很多以前以为很难搞定的问题.比如:如何让两个div显示在同一行呢?(不是用table表格,table对SE不太友好)其实,<div> 是一个 ...

  8. 3小时搞定一个简单的MIS系统案例Northwind,有视频、有源代码下载、有真相

    一.瞎扯框架.架构 楼主自从1998年从C语言.MASM.Foxbase开始学计算机开始接触这个行当16年以来,2001年干第一份与程序.软件.然后是各种屌的东西开始,差不多干了13年了,这13年来, ...

  9. 前端实战Demo:一张图片搞定一页布局

    对前端程序员来说,从设计师的手中拿过设计图和素材之后根据需要进行切图是必要的基本功,但是一般的程序员可能对切图并非那么熟悉,所以可能有很多时间都花在使用Photoshop上,那么这里就有一种方法可以减 ...

随机推荐

  1. Crontab使用mailx的一点发现

    要用到Crontab定时任务去执行一个Shell脚本监控Linux系统资源并且当一些数字超过预设的话发送邮件警告.首先是linux的sendmail功能无法满足我们使用SMTP服务器并且指定发送者(E ...

  2. WCF学习笔记 -- 基本概念

    WCF是实现WebService的一种微软提出的技术,整合了.Remote, .NET及ASP.NET服务的一种框架.是Windows Communication Foundation的缩写.WebS ...

  3. c#中设置像数量,价格,金额等的textbox的限制条件,用户只能输入数字或小数

    #region 设置数量等textbox控件样式及限制条件(具体调用的方法就是重写或直接调用ShieldNumberTextBoxOtherKeys函数) /// <summary> // ...

  4. UVALive 3027(并查集)

    题意:某公司的各企业群要建立联系,I i j 表示企业i与企业j建立联系,并且以企业j为中心(并查集中的父亲)(企业j为暂时的中心企业),E i 表示查询企业 i 距离此时的中心企业的距离.各企业间的 ...

  5. 串操作,C++实现

    对串的基本操作都全已经实现 对kmp,kf字符串替换等功能全都已经实现 由于时间原因.没来得及注释,希望大家参考见谅. 串操作hstring.h头文件实现 //kallen 1 #ifndef _HS ...

  6. 《编写高质量代码-Web前端开发修改之道》笔记--第一章 从网站重构说起

    本章内容: 糟糕的页面实现,头疼的维护工作 Web标准--结构.样式和行为的分离 前端的现状 打造高品质的前端代码,提高代码的可维护性--精简.重用.有序 糟糕的页面实现,头疼的维护工作 工作中最大的 ...

  7. 图片grayscale(灰阶效果)webkit内核支持。

    filter:gray;-webkit-filter: grayscale(100%); 置为灰阶等hove时候 -webkit-filter: grayscale(0%);显示出彩色.

  8. [译]GC专家系列1: 理解Java垃圾回收

    原文链接:http://www.cubrid.org/blog/dev-platform/understanding-java-garbage-collection/ 了解Java的垃圾回收(GC)原 ...

  9. V9自定义分页函数

    大家做网站的时候,可能很多时候分页样式都得根据模板的要求来控制的,这时很多人都会去修改全局文件phpcms\libs\functions \global.func.php里的pages()函数,这样问 ...

  10. Spark Streaming揭秘 Day24 Transformation和action图解

    Spark Streaming揭秘 Day24 Transformation和action图解 今天我们进入SparkStreaming的数据处理,谈一下两个重要的操作Transfromation和a ...