测试/调试/修复PHP并发问题的工具?

测试/调试/修复PHP并发问题的工具?

Tools to test/debug/fix PHP concurrency issues?

我发现自己用PHP的memcached做了一些相对高级的事情。考虑和解决由缓存的无锁特性引起的竞争条件和并发问题已经成为一种精神上的努力。

关于并发(线程,有人吗?),PHP的工具似乎差强人意,所以我想知道是否有解决方案可以正确地测试/调试。

我不想等到两个用户请求两个将同时作为并行进程运行的脚本并引起并发问题,这会让我挠头,或者直到它滚滚而来之前我可能都不会注意到一个clusterfsck。

我应该知道的任何魔术PHP并发魔杖吗?


PHP不是为多线程设计的语言,我认为它永远不会。

如果您需要互斥功能,PHP可以提供一个Semaphore函数。

Memcache没有互斥功能,但是可以使用Memcache :: add()方法进行仿真。

如果您正在使用MySQL数据库,并试图防止某种竞争条件损坏,则可以使用lock table语句,或使用事务。


您可以尝试使用可以同时发出多个请求的负载测试工具处理您的代码。我想到了Jmeter。


不是专门针对此问题,而是:FirePHP?


推荐阅读

    linux命令下载工具?

    linux命令下载工具?,工具,网络,代理,代码,简介,位置,系统,第一,下载工具,文

    linux回写缓存命令?

    linux回写缓存命令?,系统,地址,服务,工作,信息,管理,缓存,命令,情况,设计,Lin

    linux好用的命令工具?

    linux好用的命令工具?,系统,管理,工具,基础,服务,信息,工作,发行,公司,代码,L

    linux常用命令行工具?

    linux常用命令行工具?,系统,工作,工具,地址,管理,信息,命令,软件,目录,基础,l

    linux命令行专业工具?

    linux命令行专业工具?,工具,系统,工作,信息,服务,环境,基础,命令,管理,发行,l

    清理缓存的linux命令?

    清理缓存的linux命令?,系统,网络,信息,工具,缓存,数据,情况,环境,设备,服务,l

    linux命令清楚缓存?

    linux命令清楚缓存?,网络,服务,系统,缓存,分析软件,工具,数据,地址,环境,软

    linux命令行执行工具?

    linux命令行执行工具?,工具,系统,网络,分析,工作,服务,状态,信息,电脑,发行,s

    linux命令行执行工具?

    linux命令行执行工具?,工具,系统,网络,分析,工作,服务,状态,信息,电脑,发行,s

    linux清楚缓存命令?

    linux清楚缓存命令?,系统,服务,缓存,网络,工具,地址,电脑,命令,内存,浏览器,

    linux命令行调试代码?

    linux命令行调试代码?,环境,代码,信息,平台,程序,编辑,版本,步骤,体系结构,

    linux下单步调试命令?

    linux下单步调试命令?,信息,系统,代码,工程,地址,工具,工作,数据,管理,环境,l

    linux串口调试命令?

    linux串口调试命令?,设备,数据,信息,数字,系统,标准,通讯,软件,通用,状态,lin

    开发linux命令工具?

    开发linux命令工具?,系统,工具,环境,状态,平台,设计,数据,电脑,中小企业,标

    linux清除缓存命令?

    linux清除缓存命令?,系统,工具,情况,缓存,网络,服务,管理,信息,地址,数据,Lin

    linux命令行工具大全?

    linux命令行工具大全?,工作,系统,工具,地址,信息,命令,目录,基础,管理,文件,l

    删除缓存的linux命令?

    删除缓存的linux命令?,地址,系统,网络,信息,电脑,情况,服务,缓存,软件,分析,l

    linux命令联想工具?

    linux命令联想工具?,地址,工作,系统,工具,状态,标准,信息,命令,目录,左下角,L

    linux查看缓存命令?

    linux查看缓存命令?,系统,地址,网络,信息,第一,情况,命令,电脑,状态,标准,下

    刷新缓存linux命令?

    刷新缓存linux命令?,系统,地址,工作,情况,工具,信息,盘中,状态,数据,命令,Lin