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>
저는 배치 블록 크기를 사용할 수없는 anypoint 스튜디오 5.4.0을 사용하고 있습니다. 사용 권한이 없으므로 업데이트가 필요하지 않습니다. Anypointstudio 5.4.0의 대체 방법이 있습니까? – shabarinath
불행히도, Mule 3.8 및 Anypoint Studio 6부터 사용할 수 있습니다. Anypoint Studio를 6으로 업그레이드하면이 옵션을 사용할 수 있습니다. –