注意:本文是我们的 PHP 性能分析系列的第三篇,点此阅读 PHP 性能分析第一篇: XHProf & XHGui 介绍 ,或  PHP 性能分析第二篇: 深入研究 XHGui. 在本系列的 第一篇 中,我们介绍了 XHProf .而在 第二篇 中,我们深入研究了 XHGui UI, 现在最后一篇,让我们把 XHProf /XHGui 的知识用到工作中! 性能调优 不用运行的代码才是绝好的代码.其他只是好的代码.所以,性能调优时,最好的选择是首先确保运行尽可能少的代码. OpCode 缓存 首先…
1.  简介 在第一篇中整合了apache + tomcat ,利用了apache解析静态文件为tomcat解压.但是在测试机上发现两者性能不足,不能充分利用服务器的性能,该篇中将对apache进行性能上调优 . 这里的调优针对的是window 平台下 ,linux下apache的调优后续再说. 2. apache调优 2.1 移除不用的模块 apache的功能相当强大,但不是在每个项目中都能用到其所有的功能,其中加载了一些我们通常用不到的模块,这其实是没有必要的 . 去除不用的模块方法很简单,…
[转]一文掌握 Linux 性能分析之网络篇 比较宽泛地讲,网络方向的性能分析既包括主机测的网络配置查看.监控,又包括网络链路上的包转发时延.吞吐量.带宽等指标分析.包括但不限于以下分析工具: ping:测试网络连通性 ifconfig:接口配置 ip:网络接口统计信息 netsat:多种网络栈和接口统计信息 ifstat:接口网络流量监控工具 netcat:快速构建网络连接 tcpdump:抓包工具 sar:统计信息历史 traceroute:测试网络路由 pathchar:确定网络路径特征…
本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. 这是 Linux 性能分析系列的第四篇,前三篇在这里: 一文掌握 Linux 性能分析之 CPU 篇 一文掌握 Linux 性能分析之内存篇 一文掌握 Linux 性能分析之 I/O 篇 比较宽泛地讲,网络方向的性能分析既包括主机测的网络配置查看.监控,又包括网络链路上的包转发时延.吞吐量.带宽等指标分析.包括但…
[转]一文掌握 Linux 性能分析之内存篇 前面我们已经学习了 CPU 篇,这篇来看下内存篇. 01 内存信息 同样在分析内存之前,我们得知到怎么查看系统内存信息,有以下几种方法. 1.1 /proc/meminfo 这个文件记录着比较详细的内存配置信息,使用 cat /proc/meminfo 查看. 我们比较关心的是下面几个字段: MemTotal:系统总内存,由于 BIOS.内核等会占用一些内存,所以这里和配置声称的内存会有一些出入,比如我这里配置有 2G,但其实只有 1.95G 可用.…
[转]一文掌握 Linux 性能分析之 CPU 篇 平常工作会涉及到一些 Linux 性能分析的问题,因此决定总结一下常用的一些性能分析手段,仅供参考. 说到性能分析,基本上就是 CPU.内存.磁盘 IO 以及网络这几个部分,本文先来看 CPU 这个部分. CPU 基础信息 进行性能分析之前,首先得知道 CPU 有哪些信息,可以通过以下方法查看 CPU 配置信息. lscpu 在 Linux 下,类似 lsxxx 这样的命令都是用来查看基本信息的,如 ls 查看当前目录文件信息,lscpu 就用…
[转]一文掌握 Linux 性能分析之网络篇(续) 在上篇网络篇中,我们已经介绍了几个 Linux 网络方向的性能分析工具,本文再补充几个.总结下来,余下的工具包括但不限于以下几个: sar:统计信息历史 traceroute:测试网络路由 dtrace:TCP/IP 栈跟踪 iperf / netperf / netserver:网络性能测试工具 perf 性能分析神器 由于篇幅有限,本文会先介绍前面两个,其他工具留作后面介绍,大家可以持续关注. sar sar 是一个系统历史数据统计工具.统…
本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. 这是 Linux 性能分析系列的第五篇,前四篇在这里: 一文掌握 Linux 性能分析之 CPU 篇 一文掌握 Linux 性能分析之内存篇 一文掌握 Linux 性能分析之 IO 篇 一文掌握 Linux 性能分析之网络篇 在上篇网络篇中,我们已经介绍了几个 Linux 网络方向的性能分析工具,本文再补充几个.…
作者:vivo 互联网服务器团队- Chen Dongxing.Li Haoxuan.Chen Jinxia 随着业务的日渐复杂,性能优化俨然成为了每一位技术人的必修课.性能优化从何着手?如何从问题表象定位到性能瓶颈?如何验证优化措施是否有效?本文将介绍分享 vivo push 推荐项目中的性能调优实践,希望给大家提供一些借鉴和参考. 一.背景介绍 在 Push 推荐中,线上服务从 Kafka 接收需要触达用户的事件,之后为这些目标用户选出最合适的文章进行推送.服务由 Java 开发,CPU 密…
1.spring-petclinic介绍 spring-petclinic是spring官方做的一个宠物商店,结合了spring和其他一些框架的最佳实践. 架构如下: 1)前端 Thymeleaf做HTML模板引擎或纯JSP加Tag CSS采用Bootstrap webjars用来管理客户端依赖 Dandelion做表格 2)后端 Controller,用Spring MVC, Bean Validation Service, 用Spring事务,加上ehcache缓存 Repository,写…
背景 在人工智能技术的支持下,BIGO 基于视频的产品和服务受到广泛欢迎,在 150 多个国家/地区拥有用户,其中包括 Bigo Live(直播)和 Likee(短视频).Bigo Live 在 150 多个国家/地区兴起,Likee 有 1 亿多用户,并在 Z 世代中很受欢迎. 随着业务的迅速增长,BIGO 消息队列平台承载的数据规模出现了成倍增长,下游的在线模型训练.在线推荐.实时数据分析.实时数仓等业务对消息的实时性和稳定性提出了更高的要求. BIGO 消息队列平台使用的是开源 Kafka…
玩过性能优化的朋友都清楚,性能优化的关键并不在于怎么进行优化,而在于怎么找到当前系统的性能瓶颈.性能优化分为好几个层次,比如系统层次.算法层次.代码层次…JVM 的性能优化被认为是底层优化,门槛较高,精通这种技能的人比较少.笔者呆过几家技术力量不算弱的公司,每个公司内部真正能够进行 JVM 性能调优的人寥寥无几.甚至没有.如是乎,能够有效通过 JVM 调优提升系统性能的人往往被人们冠以”大牛”.”大师”之类的称呼.其实 JVM 本身给我们提供了很多强大而有效的监控进程.分析定位瓶颈的工具,比如…
本文是<JVM 性能调优实战之:一次系统性能瓶颈的寻找过程> 的后续篇,该篇介绍了如何使用 JDK 自身提供的工具进行 JVM 调优将 TPS 由 2.5 提升到 20 (提升了 7 倍),并准确定位系统瓶颈:我们应用里静态对象不是太多.有大量的业务线程在频繁创建一些生命周期很长的临时对象,代码里有问题.那么问题来了,如何在海量业务代码里边准确定位这些性能代码?本文将介绍如何使用阿里开源工具 TProfiler 来定位这些性能代码,成功解决掉了 GC 过于频繁的性能瓶颈,并最终在上次优化的基础…
From:  https://c.m.163.com/news/a/D7B0C6Q40511PFUO.html?spss=newsapp&fromhistory=1 Java虚拟机性能监控与调优实战 酷客创意网01-04 20:37跟贴 7 条 本文针对Java虚拟机对程序性能影响,通过设置不同的Java虚拟机参数来提升程序的性能.首先从Java虚拟机各个性能方面来进行监控,找出Java虚拟机中可能对程序性能影响较大的,然后先通过小实验来证明对程序性能的影响,确定了对程序性能影响较大的指标.最后…
Java 性能调优对于每一个奋战在开发一线的技术人来说,随着系统访问量的增加.代码的臃肿,各种性能问题便会层出不穷. 日渐复杂的系统,错综复杂的性能调优,都对Java工程师的技术广度和技术深度提出了更高的要求.那么怎样才能做好性能调优呢? 结合多年的从业经验,从 Java 应用服务的每一层优化实战出发,精选高频性能问题,透过 Java 底层源码,提炼出优化思路和它背后的实现原理,帮助你快速进阶. 刘超,现任金山软件西山居技术经理.曾就职于魅族.平安银行等公司,在高并发业务系统方面,具有丰富的实战…
  JVM调优实战 文档修订记录 版本 日期 撰写人 审核人 批准人 变更摘要 & 修订位置                                                                                                                                                                                     目录 1    理论篇    1 1.1   …
摘要:为大家梳理了针对常见精度问题的调试调优指南,将以"MindSpore模型精度调优实战"系列文章的形式分享出来,帮助大家轻松定位精度问题,快速优化模型精度. 本文分享自华为云社区<技术干货 | 更快定位精度问题!MindSpore模型精度调优实战(一)>,原文作者:HWCloudAI . 引言: 在模型的开发过程中,精度达不到预期常常让人头疼.为了帮助大家解决模型调试调优的问题,我们为MindSpore量身定做了可视化调试调优组件:MindInsight. 还为大家梳理…
类加载机制 Java源代码经过编译器编译成字节码之后,最终都需要加载到虚拟机之后才能运行.虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java 类型,这就是虚拟机的类加载机制. 2.1 类加载时机 一个类型从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期将会经历加载(Loading).验证(Verification).准备(Preparation).解析(Resolution).初始化(Initializat…
数据库MySQL调优实战经验总结 MySQL 数据库的使用是非常的广泛,稳定性和安全性也非常好,经历了无数大小公司的验证.仅能够安装使用是远远不够的,MySQL 在使用中需要进行不断的调整参数或优化设置,才能够发挥 MySQL 的最大作用.下边的内容是我在工作中经验的总结,也作为自己的工作笔记,如果能够帮助到有需要的同志就更好了.MySQL 的优化可以从个方面来做: 一.架构层面 1.做主从复制.2.实现读写分离.3.分库分表. 二.系统层面 1.增加内存.2.硬盘使用固态硬盘 SSD.3.给磁…
本文是我12年在学习<深入理解Java虚拟机:JVM高级特性与最佳实践>时,做的一个 JVM 简单调优实战笔记,版本都有些过时,不过调优思路和过程还是可以分享给大家参考的. 环境基础配置 硬件: Dell E5410, Intel i3 CPU M 370, 2GB内存 系统: 32位 Windows XP 虚拟机: Java HotSpot(TM) Client VM (build 17.1-b03, mixed mode, sharing) Eclipse版本: Release 4.2.0…
1 资料 JDK5.0垃圾收集优化之--Don't Pause(花钱的年华)  编写对GC友好,又不泄漏的代码(花钱的年华)  JVM调优总结  JDK 6所有选项及默认值  2 GC日志打印 GC调优是个很实验很伽利略的活儿,GC日志是先决的数据参考和最终验证: -XX:+PrintGCDetails -XX:+PrintGCTimeStamps(GC发生的时间) -XX:+PrintGCApplicationStoppedTime(GC消耗了多少时间) -XX:+PrintGCApplica…
摘要:在模型的开发过程中,精度达不到预期常常让人头疼.为了帮助用户解决模型调试调优的问题,我们为MindSpore量身定做了可视化调试调优组件:MindInsight. 本文分享自华为云社区<技术干货 | 模型优化精度.速度我全都要!MindSpore模型精度调优实战(二)>,原文作者:HWCloudAI . 引言: 在模型的开发过程中,精度达不到预期常常让人头疼.为了帮助用户解决模型调试调优的问题,我们为MindSpore量身定做了可视化调试调优组件:MindInsight.我们还梳理了针对…
本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. 平常工作会涉及到一些 Linux 性能分析的问题,因此决定总结一下常用的一些性能分析手段,仅供参考. 说到性能分析,基本上就是 CPU.内存.磁盘 IO 以及网络这几个部分,本文先来看 CPU 这个部分. CPU 基础信息 进行性能分析之前,首先得知道 CPU 有哪些信息,可以通过以下方法查看 CPU 配置信息.…
文/bestswifter(简书作者)原文链接:http://www.jianshu.com/p/619cf14640f3著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 在使用UIKit的过程中,性能优化是永恒的话题.很多人都看过分析优化滑动性能的文章,但其中不少文章只介绍了优化方法却对背后的原理避而不谈,或者是晦涩难懂而且读者缺乏实践体验的机会.不妨思考一下下面的问题自己是否有一个清晰的认识: 为什么要把控件尽量设置成不透明的,如果是透明的会有什么影响,如何检测这种影响? 为什…
Spark特别适用于多次操作特定的数据,分mem-only和mem & disk.当中mem-only:效率高,但占用大量的内存,成本非常高;mem & disk:内存用完后,会自己主动向磁盘迁移,攻克了内存不足的问题,却带来了数据的置换的消费.Spark常见的调优工具有nman.Jmeter和Jprofile,下面是Spark调优的一个实例分析: 1.场景:精确客户群 对一个容量为300g的客户信息表在spark上进行查询优化,该大宽表有1800多列.有效使用的有20列. 2.优化达到的…
如何在高性能服务器上进行JVM调优:以便充分利用高性能服务器的硬件资源,有两种JVM调优方案. 一.        采用64位操作系统,并为JVM分配大内存 分析:如果JVM中堆内存太小,那么就会频繁地发生垃圾回收,而垃圾回收都会伴随不同程度的程序停顿. a)        优点:扩大堆内存的话可以减少垃圾回收的频率,从而避免程序的停顿.因此,人们自然而然想到扩大内存容量.而32位操作系统理论上最大只支持4G内存,64位操作系统最大能支持128G内存,因此我们可以使用64位操作系统,并使用64位…
今日帮朋友做了tomcat性能调优的实际操作,心得记录一下. 服务器:Windows2017 配置:CPU 4 内存 8G Tomcat8.0+版本. 压力测试工具:apache-jmeter-4.0 (测试方法参考:https://blog.csdn.net/lan_shu/article/details/55190127) 部署应用后测试tomcat并发性能. 若按tomcat初始配置支持并发数在150左右压力30秒开始出现请求丢失. 后经过tomcat性能调优后tomcat单台并发数支持3…
JuiceFS 是一款面向云原生环境设计的高性能 POSIX 文件系统,在 AGPL v3.0 开源协议下发布.作为一个云上的分布式文件系统,任何存入 JuiceFS 的数据都会按照一定规则拆分成数据块存入对象存储(如 Amazon S3),相对应的元数据则持久化在独立的数据库中.这种结构决定了 JuiceFS 的存储空间可以根据数据量弹性伸缩,可靠地存储大规模的数据,同时支持在多主机之间共享挂载,实现跨云跨地区的数据共享和迁移. 从 v0.13 发布以来, JuiceFS 新增了多项与性能监测…
1.Java Web应用调优线程池 不论你是否关注,Java Web应用都或多或少的使用了线程池来处理请求.线程池的实现细节可能会被忽视,但是有关于线程池的使用和调优迟早是需要了解的.本文由浅入深,介绍了Java线程池的使用,以及正确配置线程池的方法.所谓老司机带路,带你轻松上道. 最简单的单线程 我们先从基础开始.无论使用哪种应用服务器或者框架(如Tomcat.Jetty等),他们都有类似的基础实现.Web服务的基础是套接字(socket),套接字负责监听端口,等待TCP连接,并接受TCP连接…
某系统反馈『性能抖动,响应时间会突然飙高,TP999 MAX会到3000+』,初步怀疑是JVM FULL GC导致的 STW,观察FULL GC日志默认的JVM参数: -Xms4096m -Xmx4096m -XX:PermSize=512M -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=1024M -XX:+UseCodeCacheFlushing 从线上down下来的GC LOG如下: 1768.617: [GC [PSYoungGen: 13…