2012-06-20 3 views
0

WordPress 문제인지 잘 모르기 때문에 여기에이 질문을 게시하고 있습니다.XAMPP에서 매우 느린 WordPress 사용자 가져 오기

저는 로컬 시스템에서 512MB의 최대 헤드 룸과 2.5 시간의 PHP 타임 아웃을 사용하여 XAMPP를 실행하고 있습니다. 저는 WordPress wp_user 및 wp_usermeta 테이블에 약 11,000 개의 레코드를 사용자 정의 스크립트를 통해 가져옵니다. WordPress 끝의 유일한 알 수없는 양 (성능별로)은 wp_insert_userupdate_user_meta입니다. 그렇지 않으면 바로 CSV 가져 오기입니다.

11,000 명의 사용자를 가져오고 180,000 개의 usermeta 항목을 만드는 프로세스를 완료하는 데 2 ​​시간 이상이 걸렸습니다. 1 분에 약 120 개의 레코드를 가져 왔습니다. 그건 아주 느린 것 같습니다.

WordPress로 사용자 데이터를 가져 오는 데 알려진 성능 문제가 있습니까? 빠른 Google 검색은 비생산적이었습니다 (저에게있어서).

설정이 있습니까? 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 512 메가 바이트 공간이 데이터베이스가 큰 경우 많이하지 않습니다. 얼마나 많은 리소스가 OS 및 실행중인 응용 프로그램을 사용하고 있는지 계산합니다. 2Gb WO 데이터베이스가 너무 많습니다. MySql은 빠르게 실행하려면 많은 RAM이 필요합니다. (사용중인 쿼리에 따라 다름)

+0

정보 주셔서 감사합니다. 나는 set_time_limit() 트릭에 대해 몰랐다. 확실히 좋은 것. 메모리 정보를 제공해 주셔서 감사합니다. mySQL 한계를 뛰어 넘는 것에 대해 알아 보겠습니다. –

관련 문제