我们正在批量导入大约 1600 种产品。当我在实时服务器上运行导入脚本时,需要 7-8 小时。
在我的本地计算机上,这需要 15 分钟。数据库是否有问题,我可以修复以使导入快速运行?
随着时间的推移,这种进口似乎变得越来越长。我记得过去在实时服务器上只需要 20 分钟。
现在 $adapter->saveRow($importData); 一行或两行需要 8 分钟。
关于如何加快速度的任何方向将不胜感激。
Magento 1.6.2社区版运行在(不幸的是)基于切诺基的网络服务器上,具有4GB RAM,并且服务器上没有其他站点。服务器具有充足的电源。
if ($batchModel->getAdapter()) {
$batchId = $batchModel->getId();
$batchImportModel = $batchModel->getBatchImportModel();
$importIds = $batchImportModel->getIdCollection();
$batchModel = Mage::getModel('dataflow/batch')->load($batchId);
$adapter = Mage::getModel($batchModel->getAdapter());
$records = count($importIds);
progressBar(0, $records, 50);
foreach ($importIds as $importId) {
progressBar($recordCount);
$recordCount++;
try {
$batchImportModel->load($importId);
if (!$batchImportModel->getId()) {
$errors[] = $importId . " - empty batchImportModel ID";
continue;
}
$importData = $batchImportModel->getBatchData();
delete_product_image_by_sku($importData['sku']);
try {
$adapter->saveRow($importData);
} catch (Exception $e) {
$errors[] = $importId . " - cannot save row with sku: " . $importData['sku'] . " error: " . $e->getMessage();
continue;
}
} catch(Exception $ex) {
$errors[] = $importId . " - error: " . $ex->getMessage();
}
}
progressBar($records);
echo implode("n", $errors);
}
我放弃了,最终使用了Magmi。