2012-06-20 44 views
0

我在這裏發佈這個問題是因爲我不確定這是一個WordPress問題。XAMPP上極其緩慢的WordPress用戶導入

我在我的本地系統上運行的XAMPP,搭配512MB最大餘量和2.5小時的PHP超時。我通過自定義腳本將大約11,000條記錄導入到WordPress wp_user和wp_usermeta表中。 WordPress最終的唯一未知數量(性能方面)是wp_insert_userupdate_user_meta調用。否則,它是一個直接的CSV導入。

進口11000個用戶創造18萬個usermeta項目整個過程花了2個多小時才能完成。它每分鐘導入約120條記錄。這似乎非常緩慢。

是否存在將用戶數據導入WordPress的已知性能問題?快速谷歌搜索是無用的(對我來說)。

是否有設置我應該調整超出XAMPP超時?它的mySQL實現緩慢地出現了嗎?

我讀過一些有關病毒軟件的顯着放緩XAMPP。這是一個神話嗎?

+0

您使用的是哪種自定義腳本?它*不應該很慢,但它取決於您定義的緩慢,腳本如何編寫以及您的本地環境。如果沒有看到腳本和/或數據,不知道。 –

+0

是的,我意識到它非常含糊。該腳本非常精簡,但使用第三方庫進行實際的CSV轉換(與內置相反)。但爲了給你一個想法,11,000個記錄需要2個小時才能導入。 –

回答

2

是的,本地和託管的問題很少。要記住的一件重要的事情是php腳本的max_execution時間。在數據上傳過程中,您可能需要重置計時器一段時間。

我想你有一些環路,它由行佔用的數據行從CSV文件,例如和使用SQL查詢將其插入到數據庫WP。我通常把這個簡單的代碼片段到我的循環,因此將保持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 

..也BTW 512MB的房間是不是如果數據庫是大的多。統計您的操作系統和所有正在運行的應用程序的資源量。我有2G的WO數據庫,我的MySql需要大量的RAM來快速運行。 (取決於您使用的查詢)

+0

感謝您的信息。我不知道'set_time_limit()'技巧。絕對是一個好的。也感謝內存信息。我會看到關於顛覆mySQL的限制。 –