https://github.com/tideways/php-xhprof-extension 1)PHP的xhprof扩展Facebook不再进行更新和维护,因为Faceboo已经全面使用HHVM,不再使用PHP zend引擎。 2)xhprof不支持新版本的PHP(PHP7),tideways扩展是从xhprof项目fork下来继续进行维护的,目前支持PHP 7.2, 7.1, 7.0, 5.6 and 5.5 。 3)tideways是开源项目,它收费的只是UI服务,其实 xhgui完全可以满足我们日常的需求 2 功能 tideways是用来测试PHP性能的扩展,它能获取PHP执行的整个过程中调用的函数、调用函数次数、执行时间、CPU时间、内存占用、内存峰值、总执行时间、总CPU时间、总内存占用、总内存峰值等数据,通过以上数据进行分析,找出PHP的性能瓶颈、分析PHP执行过程等。 3 优点 1)tideways是一个PHP扩展,结合xhgui,无需在PHP代码中进行埋点来监控代码 2)可以设置执行频率(例如1/100),无需每个请求都生成执行日志,从而导致性能损失;也可以主动控制是否生成执行日志,通过请求参数来控制(debug=1) 3)有简单直接的UI对数据进行转化 4)可以自由的搭配条件进行数据筛选,例如分析某个特定的接口,分析某个时间段的接口请求情况等 4 缺点 1)虽然是非侵入式的,但是如果对每个接口生成执行日志,那么对CPU和内存的消耗是不可忽略的。 2)如果在线上,header文件万一有错误改动等问题,那么将导致PHP请求无法无法正常运行。
HashMap:HashMap数据是无序的,根据键的hashCode进行数据的存取,对数据的访问速度非常快,在map中插入删除
如何开启打印gc信息 只要在程序执行之前加上环境变量GODEBUG gctrace =1 ,如: GODEBUG gctrace =1 ./xxxx.exe or GODEBUG gctrace =1 go run main.go 垃圾回收信息 gc 1 @2.104s 0%: 0.018+1.3+0.076 ms clock, 0.054+0.35/1.0/3.0+0.23 ms cpu, 4->4->3 MB, 5 MB goal, 4 P。
BitTorrent(简称BT)是一个文件分发协议,每个下载者在下载的同时不断向其他下载者上传已下载的数据。而在FTP、HTTP协议中,每个下载者从FTP或HTTP服务器处下载自己所需要的文件,各个下载者之间没有交互。当非常多的用户同时访问和下载服务器上的文件时,由于FTP服务器的处理能力和带宽的限制,下载速度会急剧下降,有的用户根本访问不了服务器。BT协议与FTP协议不同,它的特点是下载的人越多下载的速度越快,其原因在于每个下载者将已下载的数据提供给其他下载者下载,它充分利用了用户的上载带宽。BT协议通过一定的策略保证上传的速度越快,下载的速度也越快。