听云Server:国内的PHP、JSP、.NET性能监测方案
最近搭建了一个比较私密的博客,因为是国外VPS,所以想测试一下各地的访问时间。
翻来翻去找到了这个:听云CDN。
当然又去不务正业了,没有去用听云CDN,而是开始试用了一下听云Server。
听云是做什么的?
参考资料
这次把比较正式的参考资料放在前面:
PHP APM对比评测:OneAPM, New Relic, 听云
PHPer都应该关注的服务端性能问题?听云Server试用笔记
听云官方帮助文档
官方demo
配置
按照官方配置即可,没有什么需要说的。
有几点需要注意:
1.听云Server是以守护进程+php extension的形式进行启动的,而不是对原有的php的链接库、可执行文件进行替换,所以在稳定性上可以比较放心,也就是说,php-fpm情况下,装完听云插件之后只需要重启php-fpm就可以了。
2.license key只用来区分用户,而不是用来标记server application,server application是使用下下图中的nbs.app_name选项进行区分的。
3.听云server的配置文件是php配置文件目录下的networkbench.ini文件,有着各种不同的配置选项:例如一个机器配置多个server application等,里面有相应的中文说明。
4.一般听云server新建的应用大约20分钟才能接收到数据,监控数据和实际访问数据大约有5分钟的时差。
5.其他的问题参考创建应用界面的手册:听云php监控手册
有两个坑:
1. VMPLAYER中的ubuntu server 14.04(nginx,php-fpm,mysql)中安装听云server包,重启php-fpm可能会导致mysqld被关闭,需要手动启动mysqld。没有测试实际服务器上的ubuntu系统
2. 第一个PHP Application的默认名称叫PHP Application,如果你删除PHP Application,再去新建第二个应用名,也叫PHP Application,那么这种情况下,是收不到第二个应用的数据的。这点是在询问了听云客服之后才知道的:假如PHP Application被删除,那么服务端是不再会去接收来自PHP Application的数据的。
不告诉你这就是我的应用名叫PHP Application 2的原因。
应用截图
不太能用文字表明听云到底做了什么,但是插图就很直观了:
一个typecho的博客监控数据:
可以看到,首页的路由分发占用了大多数响应时间:
其他监控数据:

热AI工具

Undress AI Tool
免费脱衣服图片

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

避免N 1查询问题,通过提前加载关联数据来减少数据库查询次数;2.仅选择所需字段,避免加载完整实体以节省内存和带宽;3.合理使用缓存策略,如Doctrine的二级缓存或Redis缓存高频查询结果;4.优化实体生命周期,定期调用clear()释放内存以防止内存溢出;5.确保数据库索引存在并分析生成的SQL语句以避免低效查询;6.在无需跟踪变更的场景下禁用自动变更跟踪,改用数组或轻量模式提升性能。正确使用ORM需结合SQL监控、缓存、批量处理和适当优化,在保持开发效率的同时确保应用性能。

ReadonlypropertiesinPHP8.2canonlybeassignedonceintheconstructororatdeclarationandcannotbemodifiedafterward,enforcingimmutabilityatthelanguagelevel.2.Toachievedeepimmutability,wrapmutabletypeslikearraysinArrayObjectorusecustomimmutablecollectionssucha

Bref使PHP开发者能无需管理服务器即可构建可扩展、成本高效的应用。1.Bref通过提供优化的PHP运行时层,将PHP带入AWSLambda,支持PHP8.3等版本,并与Laravel、Symfony等框架无缝集成;2.部署步骤包括:使用Composer安装Bref,配置serverless.yml定义函数和事件,如HTTP端点和Artisan命令;3.执行serverlessdeploy命令即可完成部署,自动配置APIGateway并生成访问URL;4.针对Lambda限制,Bref提供解决

PHP的垃圾回收机制基于引用计数,但循环引用需靠周期性运行的循环垃圾回收器处理;1.引用计数在变量无引用时立即释放内存;2.循环引用导致内存无法自动释放,需依赖GC检测并清理;3.GC在“可能根”zval达阈值或手动调用gc_collect_cycles()时触发;4.长期运行的PHP应用应监控gc_status()、适时调用gc_collect_cycles()以避免内存泄漏;5.最佳实践包括避免循环引用、使用gc_disable()优化性能关键区及通过ORM的clear()方法解引用对象,最

usearestapitobridgephpandmlmodelsbyrunningthemodelinpythonviaflaskorfastapiandcallingitfromphpusingcurlorguzzle.2.runpythonscriptsdirectsdirectlyectlyectlyfromphpsingexec()orshell_exec()orshell_exec()orshell_exec()

bcmathisesene forAccratecryptoCurrencyCalcalsionSinphpBecausefloing-pointarithmeticIntroducesunAcceptablebablerOundingErrors.1.floation-pointnumberslike0.1 0.2yieldimimpreciseresults(e.g.,e.g.,0.30000000000000000000004)

Rawstringsindomain-drivenapplicationsshouldbereplacedwithvalueobjectstopreventbugsandimprovetypesafety;1.Usingrawstringsleadstoprimitiveobsession,whereinterchangeablestringtypescancausesubtlebugslikeargumentswapping;2.ValueobjectssuchasEmailAddressen

PhpeValuatesConstantExpressatAtcompiletimetoetimetoemetotocreveranceandearlyerrordetection.1.ConstantExpressepressevaluationMeanScomputingValuesDuruesduresduresduring-CompiLation -whenalloperandSareSareSareConconstantSareConconstantsLikeLiterals,classConstants,classConstants,classConstants,orpredefendinedconcontantstants.2.phpp'2.php’2.php’2.2.php’2.php’2.php’2.php’2.php’2.php’sse
