【问题标题】:Extremely slow WordPress user import on XAMPPXAMPP 上的 WordPress 用户导入速度极慢
【发布时间】:2012-06-22 05:32:41
【问题描述】:

我在这里发布这个问题是因为我不确定这是 WordPress 的问题。

我在本地系统上运行 XAMPP,最大空间为 512MB,php 超时时间为 2.5 小时。我通过自定义脚本将大约 11,000 条记录导入 WordPress wp_user 和 wp_usermeta 表。 WordPress 端唯一未知的数量(性能方面)是 wp_insert_userupdate_user_meta 调用。否则,它是直接的 CSV 导入。

导入 11,000 个用户和创建 180,000 个 usermeta 条目的过程花费了 2 多个小时才能完成。它每分钟导入大约 120 条记录。这似乎非常缓慢。

将用户数据导入 WordPress 是否存在已知的性能问题?快速的 Google 搜索没有效果(对我来说)。

除了 XAMPP 中的超时时间之外,我还应该调整哪些设置?它的 mySQL 实现是出了名的慢吗?

我读过一些关于病毒软件大大降低 XAMPP 速度的文章。这是神话吗?

【问题讨论】:

  • 您使用的是什么自定义脚本?它不应该很慢,但这取决于您对慢的定义、脚本的编写方式以及您的本地环境。没有看到脚本和/或数据真的不知道。
  • 是的,我意识到这很模糊。该脚本非常精简,但确实使用第三方库进行实际的 CSV 翻译(与内置相反)。但是为了让您了解一下,导入 11,000 条记录需要 2 多个小时。

标签: performance wordpress xampp


【解决方案1】:

是的,本地与托管几乎没有问题。要记住的重要事情之一是 php 脚本的 max_execution 时间。您可能需要在数据上传期间不时重置计时器。

我想你有一些循环,例如从 CSV 文件中逐行获取数据,并使用 SQL 查询将其插入 WP 数据库。我通常把这个简单的 sn-p 放到我的循环中,这样它就会保持 PHP max_exec_time 重置:

$counter = 1;

// some upload query
if (($handle = fopen("some-file.csv", "r")) !== FALSE) {

        while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {

mysql_query..... blablabla....


// snippet
if($counter == '20')  // this count 20 loops and resets the counter
{
    set_time_limit(0); 
    $counter = 0;
}       
 $counter = $counter + 1;

} //end of the loop

.. 顺便说一句,如果数据库很大,512MB 的空间并不多。计算您的操作系统和所有正在运行的应用程序占用了多少资源。我有超过 2Gb WO 数据库,我的 MySql 需要大量 RAM 才能快速运行。 (也取决于您使用的查询)

【讨论】:

  • 感谢您的信息。我不知道set_time_limit() 把戏。绝对是个好人。也感谢内存信息。我会看看如何提高 mySQL 的限制。
猜你喜欢
  • 2015-02-07
  • 1970-01-01
  • 1970-01-01
  • 2014-12-12
  • 1970-01-01
  • 2013-06-18
  • 2019-04-07
  • 1970-01-01
  • 2015-05-22
相关资源
最近更新 更多