相关疑难解决方法(0)

如何在PHP/MySQL应用程序中充分利用多核CPU?

我维护一个自定义的类似CMS的应用程序.

每当提交文档时,都会执行几项任务,这些任务可以大致分为以下几类:

  1. MySQL查询.
  2. HTML内容解析.
  3. 搜索索引更新.

类别1包括与文档内容相关的各种MySQL表的更新.

类别2包括解析存储在MySQL LONGTEXT字段中的HTML内容以执行一些自动锚标记转换.我怀疑在这项任务中花费了大量的计算时间.

类别3包括仅使用与文档对应的少数字段对基于MySQL的简单搜索索引的更新.

所有这些任务都需要完成才能使文档提交完整.

承载此应用程序的计算机具有双四核Xeon处理器(总共8个核心).但是,每当文档提交时,执行的所有PHP代码都被限制为在其中一个核上运行的单个进程.

我的问题:

您有多少方案(如果有的话)将PHP/MySQL Web应用程序处理负载分散到多个CPU内核中?我理想的解决方案基本上会产生一些进程,让它们在几个内核上并行执行,然后阻塞直到所有进程完成.

相关问题:

您最喜欢的PHP性能分析工具是什么?

php mysql multicore

32
推荐指数
3
解决办法
6万
查看次数

php从url获取所有图像,宽度和高度> = 200更快

我是类似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)

php getimagesize

4
推荐指数
1
解决办法
7290
查看次数

标签 统计

php ×2

getimagesize ×1

multicore ×1

mysql ×1