性能监控

让 Angular 应用动起来!

筅森魡賤 提交于 2020-04-15 16:43:00
【推荐阅读】微服务还能火多久?>>> 【编者按】本文主要通过生动的实例,介绍为 Angular 应用添加动画的原理与过程。文章系国内 ITOM 管理平台 OneAPM 编译呈现。 我们知道,Angular 应用在更新 DOM 时,会直接将元素转储为视图而没有过渡,其默认的 用户体验 并不和谐。 不过,好消息是,Angular 附带了对动画的大力支持;当然,坏消息是它可能和预期效果有所出入。Angular 并不能制作动画,但是为用户的自定义动画提供了许多组件。 ##理解 $animate 和 ngAnimate 模块 在非 Angular Java script 应用中更新 DOM 时, 程序员 会无意识地在动画中加入自定义成分;但是,在 Angular 应用中,经常会使用内置指令,而不是在DOM上直接更改。 因此,开发者要怎么做呢? 如果不使用 Angular,怎样将动画添加到Web应用中呢? 你需要: 定义动画开始和结束的风格; 添加或更改某个元素,并将其设置为起始风格; 设置动画的结束风格; 通常,你会使用Javascript或CSS来完成以上步骤。 当往 Angular 应用添加动画时,当然也要遵循这个模式,但是却以 Angular 特有的方式——动画代码完全从指令代码分离出来。 这是很好的方法 Angular 的内置指令是预先为动画设定的。这就意味着,你可以使用许多通过

PHP字符串函数之 strstr stristr strchr strrchr

半城伤御伤魂 提交于 2020-03-12 19:03:41
strstr -- 查找字符串的首次出现,返回字符串从第一次出现的位置开始到该字符串的结尾或开始。 stristr -- strstr 函数的忽略大小写版本 strchr -- strstr 函数的别名 strrchr -- 查找字符串的最后一次出现,返回字符串从最后一次出现的位置开始到该字符串的结尾。 ##strstr 查找字符串的首次出现,返回字符串从第一次出现的位置开始到该字符串的结尾或开始。 mixed strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] ) #### 参数说明 haystack 在该字符串中进行查找。 needle 如果 needle 不是一个字符串,那么它将被转换为整型并被视为字符的顺序值来使用。 before_needle 若为 TRUE,strstr() 将返回 needle 在 haystack 中的位置之前的部分。 #### 返回值 成功:返回字符串 needle 之前或之后的一部分 失败:如果没找到 needle,将返回 FALSE。 #### 注意 该函数区分大小写 如果你仅仅想确定 needle 是否存在于 haystack 中,请使用速度更快、耗费内存更少的 strpos() 函数 #### 示例 <?php /*【 needle 为单个字符

[转]Windows 性能监视器工具-perfmon

只谈情不闲聊 提交于 2020-03-05 21:08:43
Windows 性能监视器工具 如果需要在一台计算机上监视多个 Report Server 实例,可以同时或单独监视这些实例。选择要包括的实例是计数器添加过程的一部分。有关使用 Windows 附带的性能工具的更多信息,请参见微软 Windows 产品文档。 若要访问性能工具 • 从“开始”菜单上选择“运行”。 • 在“打开”文本框中输入“perfmon”,然后单击“确定”。 • 在性能监视器工具中,在左侧窗格里选择 System Monitor 对象,然后右击“性能”图表。 • 选择“添加计数器”。 现在,可以开始选择这些对象和要监视的计数器了。 ASP.NET 应用程序性能计数器 有关 ASP.NET 应用程序性能计数器的大部分信息最近已被合并到一个题为“改善 .NET 应用程序的性能和伸缩性”的综合文档中。下表描述了一些可用于监视和优化 ASP.NET 应用程序(包括 Reporting Services)性能的重要计数器。 性能对象 计数器 实例 描述 Processor(处理器) % Processor Time(处理器时间百分比) __Total “% Processor Time”监视运行 Web 服务器的计算机的 CPU 利用率。低 CPU 利用率或者无法最大化 CPU 利用率(无论客户端负载为多少)都表明 Web 应用程序中存在对资源的争用或锁定。 Process

MySQL 性能监控4大指标——第一部分

廉价感情. 提交于 2020-03-02 16:17:56
【编者按】本文作者为 John Matson,主要介绍 mysql 性能监控应该关注的4大指标。 第一部分将详细介绍前两个指标: 查询吞吐量与查询执行性能。文章系国内 ITOM 管理平台 OneAPM 编译呈现。 ##MySQL 是什么? MySQL 是现而今最流行的开源关系型数据库服务器。由 Oracle 所有,MySQL 提供了可以免费下载的社区版及包含更多特性与支持的商业版。从1995年首发以来,MySQL 衍生出多款备受瞩目的分支,诸如具有相当竞争力的 MariaDB 及 Percona。 ##关键 MySQL 统计指标 如果你的数据库运行缓慢,或者出于某种原因无法响应查询, 技术栈 中每个依赖数据库的组件都会遭受性能问题。为了保证数据库的平稳运行,你可以主动监控以下四个与性能及资源利用率相关的指标: 查询吞吐量 查询执行性能 连接情况 缓冲池使用情况 MySQL 用户可以接触到数百个数据库指标,因此,在本文中,笔者将专注于能帮助我们实时了解数据库健康与性能的关键指标。 本文参考了我们在 监控入门系列文章 中介绍的指标术语,后者为指标收集与告警提供了基础框架。 不同版本与技术的兼容性 本系列文章讨论的一些监控策略只适用于 MySQL 5.6与5.7版本。这些版本间的差异将在后文中提及。 本文列出的大多数指标与监控策略同样适用于与 MySQL 兼容的技术,诸如 MariaDB

MySQL 性能监控4大指标——第二部分

浪子不回头ぞ 提交于 2020-03-02 13:10:22
【编者按】本文作者为 John Matson,主要介绍 mysql 性能监控应该关注的4大指标。 第一部分 介绍了前两个指标:查询吞吐量与查询执行性能。本文将继续介绍另两个指标:MySQL 连接与缓冲池。文章系国内 ITOM 管理平台 OneAPM 编译呈现。 ##连接 检查并设置连接限制 监控客户端连接情况相当重要,因为一旦可用连接耗尽,新的客户端连接就会遭到拒绝。MySQL 默认的连接数限制为 151,可通过下面的查询加以验证: SHOW VARIABLES LIKE 'max_connections'; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | max_connections | 151 | +-----------------+-------+ MySQL 的文档 指出,健壮的服务器应该能够处理成百上千的连接数。 “常规情况下,Linux 或 Solaris 应该能够支持500到1000个同时连接。如果可用的 RAM 较大,且每个连接的工作量较低或目标响应时间较为宽松,则最多可处理10000个连接。而 Windows 能处理的连接数一般不超过2048个,这是由于该平台上使用的 Posix 兼容层。” 连接数限制可以在系统运行时进行调整: SET

记录我在使用浏览器Performance API遇到的问题

China☆狼群 提交于 2020-01-07 05:40:25
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 本文中Performance API指的是Navigation Timing API。这并不是一篇Navigation Timing API的介绍文章,而是我在使用中遇到的问题。 我在开发中遇到Navigation Timing API中的connectStart等时间节点并不是标准时间戳,而是0或者一个很小的数值,导致指标数据计算出错,尤其是IOS设备。原因如下: IOS设备通过浏览器的前进后退按钮进入的页面,Navigation Timing API数据中connectStart,responseEnd等数据可能为0或者是一个比较小的数值,并不是对应时间点的时间戳。究其原因,IOS设备通过缓存读取页面时,Navigation Timing的计算与安卓实现不一致。 如果你还想了解下Navigation Timing API,可以继续往下看 Navigation Timing API Navigation Timing API中包含全部的页面加载中关键节点的时间,例如navigationStart,connectEnd,responseEnd等时间。 具体的相关API可以去 MDN 查看, 浏览器支持程度也非常不错,移动端IOS9及以上,Android4及以上都支持,桌面端IE9也都支持。

2016年度 JavaScript 展望(上)

放肆的年华 提交于 2019-12-10 02:46:18
【编者按】本文作者为资深 Web 开发者 TJ VanToll, TJ 专注于移动端 Web 应用及其 性能 ,是 《jQuery UI 实践》 一书的作者。 本文系 OneAPM 工程师编译呈现,以下为正文的第一部分。 点此阅读第二部分 。 在过去的几年间, Java Script 这种原本用于 Web 浏览器端的脚本语言,越来越多地出现在更广泛的软件应用中。现在,JavaScript 可用作服务器端代码,运行 iOS 与 Android 应用,甚至 控制机器人 。很难想象还有什么软件生态系统是 JavaScript 没有影响到的。 JavaScript 之所以能在这些新领域长驱直入,很重要的一个原因就是性能。然而,几年以前,在服务器端运行 JavaScript 还是完全不可想像的。在2008年,谷歌开始开发浏览器,并进军 JavaScript 引擎 世界,继而触发了一场性能大战,最终极大地提升了该语言的速度。最近的一些努力,诸如 asm.js 只是锦上添花罢了。 本文将会介绍,除了用 JavaScript 框架运行服务器端 JavaScript、创建移动 apps 以及桌面应用之外,未来将何去何从?文中将直接引述许多 JavaScript 解决方案的开发者之观点。让我们首先了解 Node.js 的发展,这或许是 JavaScript 的首个新领域。 ##Node.js Node

如何使用 Apache ab 以及 OneAPM 进行压力测试?

前提是你 提交于 2019-12-09 09:55:06
下一个 release 准备小长假后就要 go-live ,所有的测试 case 都 cover 过了,但还未进行过压力测试,有点不放心,刚好过节期间家人都回家去了,假期终于可以抽点时间压测一把。 Apache ab 压测 之前用过一些压力测试工具比如 loadrunner, Jmeter,感觉都太重,想要使用不是软件需要注册就是使用起来很不得心应手,这次灵光一动,想到直接使用 ab + OneAPM 进行测试,ab 的全称是 ApacheBench , 是 apache http server 自带的一个测试工具,专门用于 HTTP Server 的 benchmark testing,可以同时模拟多个并发请求。公司的开发人员也在用它作一些测试,看起来也不错,很简单,也很容易使用。可以对你的 Web 站点进行压力测试,非常小,使用起来很简单。 如果你已经安装了 apache,那么在 <apache>/bin 目录就能找到 ab,输入 ap --help `, 里面简单几个选项仔细读一下,很快就能上手进行测试。官方使用文档: https://httpd.apache.org/docs/2.4/programs/ab.html OneAPM 这个就不用多说了,性能监控软件,如何使用参看下官网的 guide,我分别在不同的平台上都试过接入 OneAPM,比如 node.js,ruby

Linux性能实时监测工具 Netdata

人走茶凉 提交于 2019-12-07 11:32:08
今天给大家推荐一款给力的Linux性能实时监测工具Netdata。上图是运行时的截图。Netdata是一个高度优化的Linux守护进程,它为Linux系统,应用程序,SNMP服务等提供实时的性能监测。 它用可视化的手段,将被监测者最细微的细节,展现了出来。这样,你便可以清晰地了解你的系统和应用程序此时的状况。 使用此软件,你可以得到: 1.优美的界面:bootstrap框架下的控制界面 2.自定义的控制界面:你可以使用简单的HTML代码去自定义控制界面(不需要使用javascript) 3.极其的快速而高效:程序使用C进行编写(默认安装下,预计只有2%的单核CPU使用率和少许的内存使用率) 4.零配置:你只需要去安装它,接着它就会自动地监测一切数据 5.零依赖:它的静态网络文件和网络接口拥有自己的网络服务器 6.可扩展:用它自身的插件API(可以使用许多方式来制作它的插件,从bash到node.js),你可以检测任何可以衡量的数据。 7.可嵌入:它可以在任何Linux内核可以运行的地方运行 监测内容: 这是它目前检测的内容(大多数都不需要进行配置,安装后即可开始监测) 1.CPU的使用率,中断,软中断和频率(总量和每个单核) 2.RAM,互换和内核内存的使用率(包括KSM和内核内存deduper) 3.硬盘输入/输出(每个硬盘的带宽,操作,整理,利用等) 4.IPv4网络(数据包

APM终端用户体验监控分析(下)

牧云@^-^@ 提交于 2019-12-06 00:31:08
##一.前言 [APM 终端用户体验监控分析(上)][1]从 APM 终端用户产品特性、使用建议、以及从[真实用户体验][2]和[模拟性能监控][3]两方面入手给大家进行了简单的分享。 本文为下篇,将给大家介绍几种新的 APM 终端[用户体验][4]监控的方式。 ##二.基于网络的数据包捕获 基于网络的数据包捕获工具对执行应用无任何影响,且不要求改变代理或软件,因此无需进行大量的[应用测试][5]就可得出所需值。须在网络适当位置设计流量聚合层,且须使用矩阵或专业网络设备以对正在被发送到监控系统的流量进行更多粒状过滤。流量聚合网络不仅可用于 APM 使用情况,还可用于[安全][6]监控产品和网络性能监控工具,例如,[OneAPM CloudTest][7]、[NewRelic][8]、[APPdynamic][9] 等厂商都是比较有代表性的网络性能监控工具的提供商。 这些基于网络的数据包捕获产品可测量响应时间、详细内容、网络产生的错误代码(如重传、DNS 解析问题、乱序数据包和 Nagle 延误)、浏览器产生的错误代码(如请求中断)以及应用产生的错误代码(如HTTP错误代码或者其他自定义错误信息),有些产品还能重建和回放用户实际看到的内容,如下两图所示: 从基础设施和应用这两个角度来看,这些工具对于应用支持团队来说都极具价值。他们还可帮助业务分析师了解使用情况和应用交付的质量