我维护一个自定义的类似CMS的应用程序.
每当提交文档时,都会执行几项任务,这些任务可以大致分为以下几类:
类别1包括与文档内容相关的各种MySQL表的更新.
类别2包括解析存储在MySQL LONGTEXT字段中的HTML内容以执行一些自动锚标记转换.我怀疑在这项任务中花费了大量的计算时间.
类别3包括仅使用与文档对应的少数字段对基于MySQL的简单搜索索引的更新.
所有这些任务都需要完成才能使文档提交完整.
承载此应用程序的计算机具有双四核Xeon处理器(总共8个核心).但是,每当文档提交时,执行的所有PHP代码都被限制为在其中一个核上运行的单个进程.
我的问题:
您有多少方案(如果有的话)将PHP/MySQL Web应用程序处理负载分散到多个CPU内核中?我理想的解决方案基本上会产生一些进程,让它们在几个内核上并行执行,然后阻塞直到所有进程完成.
相关问题:
您最喜欢的PHP性能分析工具是什么?
我是类似http://pinterest.com的一些功能 add a pin
如何从url获取宽度和高度> = 200更快的所有图像?pinterest.com将完成整个过程将近10秒,但我需要48.64秒.
require dirname(__FILE__) . '/simple_html_dom.php';
$url = 'http://www.huffingtonpost.com/';
$html = file_get_html($url);
if($html->find('img')){
foreach($html->find('img') as $element) {
$size = @getimagesize($element->src);
if($size[0]>=200&&$size[1]>=200){
echo $element;
}
}
}// cost 48.64 seconds
Run Code Online (Sandbox Code Playgroud)