2016-08-24 4 views
0

저는 90,000 개의 레코드를 삽입하는 저장 프로 시저를 생성하고 그것을 mule anypointstudio에서 호출했습니다. 그러나 동일한 코드가 perl에서 실행되고 15 분 내에 삽입 된 레코드를 실행하는 데 8 시간 이상이 소요됩니다.mulesoft 저장 프로 시저 삽입 실행 속도를 훨씬 빠르게 향상시키는 방법은 무엇입니까?

IAM은 저장 프로 시저 실패 레코드를 처리하기 위해 배치를 사용합니다. 허용 된 최대 스레드 변경 시도 및 개선을 찾지 못했습니다.

구현에서 내가 잘못하고있는 부분을 도울 수 있습니까?

여기 내가 사용하는 노새 코드 :

<batch:job name="Import_users_data" max-failed-records="-1"> 
    <batch:threading-profile maxThreadsActive="1000" poolExhaustedAction="RUN"/> 
    <batch:input> 
     <db:stored-procedure config-ref="MyLearn_SQLSERVER_DB_Configuration" doc:name="Database"> 
      <db:parameterized-query><![CDATA[{call spFetch_users_data}]]></db:parameterized-query> 

     </db:stored-procedure> 
     <set-payload value="#[payload.get('resultSet1')]" doc:name="Set Payload"/> 
    </batch:input> 
    <batch:process-records> 
     <batch:step name="users_batch_step"> 
      <db:stored-procedure config-ref="SQLSERVER_DB_Configuration" doc:name="Database" streaming="true"> 
       <db:parameterized-query><![CDATA[{call spIns_data_in_users_table(:in_users_id, :in_first_name, :in_last_name)}]]></db:parameterized-query> 

       <db:in-param name="in_users_id" type="INTEGER" value="#[payload.USERS_ID]"/> 
       <db:in-param name="in_first_name" type="VARCHAR" value="#[payload.FIRST_NAME]"/> 
       <db:in-param name="in_last_name" type="VARCHAR" value="#[payload.LAST_NAME]"/> 


      </db:stored-procedure> 
     </batch:step> 
    </batch:process-records> 
    <batch:on-complete> 
     <logger message="Successfully imported users data.......#['Successfull Records: '+payload.successfulRecords+'Failed Records: '+payload.failedRecords]" level="INFO" doc:name="Logger"/> 
     <flow-ref name="Export_data" doc:name="Export_data"/> 
    </batch:on-complete> 
</batch:job> 

답변

0

@shabrinath에서, Batch Scope 100의 기본 값보다 이상으로 Batch Block Size 값을 늘려보십시오.

+0

저는 배치 블록 크기를 사용할 수없는 anypoint 스튜디오 5.4.0을 사용하고 있습니다. 사용 권한이 없으므로 업데이트가 필요하지 않습니다. Anypointstudio 5.4.0의 대체 방법이 있습니까? – shabarinath

+0

불행히도, Mule 3.8 및 Anypoint Studio 6부터 사용할 수 있습니다. Anypoint Studio를 6으로 업그레이드하면이 옵션을 사용할 수 있습니다. –