21.02.2009, 06:28 | #1 |
Участник
|
Microsoft Dynamics CRM Team Blog: Performance Testing using DbPopulator
Источник: http://blogs.msdn.com/crm/archive/20...populator.aspx
============== DbPopulator is a tool used by MSCRM performance team to populate different types of data (qualitatively and quantitatively) in the MSCRM test boxes for performance testing. This tool is available as part of CRM Performace Toolkit (download available in http://www.codeplex.com/crmperftoolkit) and can be used to test SDK Create performance. I will describe how we can do this using DbPopulator. Getting Started Download CRM Performance Toolkit from the above mentioned Url and install it into the test machine. After successful installation, you will find DbPopulator tool available in \Binaries\DbPopulator directory. You will also find some sample XML files are put under the \ CRM4_Perf_Toolkit\dbPopulator\Sample_Xmls directory. These sample XMLs can be used to measure SDK Create performance for different entities. Also, you can measure how performance varies when you increase number of concurrent threads for record creation. For example, consider unitTest_Account XML. The body of this XML looks like, You need to set the domainname, webserver and organizationname parameters for your test environment. Also you need to set the test user name and password properly. These are explained in more details in the blog http://blogs.msdn.com/crm/archive/20...e-toolkit.aspx. Also, set the account count as 1000 so that it takes sufficient time to calculate throughput properly. Now run DbPopulator as dbPopulator.exe ..\..\CRM4_Perf_Toolkit\dbPopulator\Sample_Xmls\unitTest_Account.xml –q Remember to use –q switch to run DbPopulator in quiet mode, else the console logging will take some extra time and throughput measurement may not be accurate. After execution, DbPopulator will display the result in console as Creating entities for crmusr1The time taken by crmusr1 is 19.641 second for creating 1000 records. DbPop runtime is more because it does some extra processing like creating CrmService etc. So here, we get single threaded account creation throughput as 1000/19.641 = ~51. Now run the same test after setting threadCount = ‘2’ and count = ‘2’ in userGroup. The result will look something like Creating entities for crmusr1Each user has taken 21.704 second to create 1000 user. But they have run in parallel, so we can assume that in 21.704 second, we can create 2000 accounts using 2 threads in parallel. There may be slight non-overlapping timing among the threads, but for all practical estimation purpose, we can ignore them. This result will calculate the account create throughput as 2000/21.704 = ~92 when 2 threads were creating account records simultaneously. Sample Results I ran DbPopulator to measure the SDK create throughput for several entities. The below table summarizes the result. table.lightgrid1 {border:solid black 1.0pt; font-size:11.0pt; font-family:"Calibri","sans-serif"; } p.msonormal {margin-top:0in; margin-right:0in; margin-bottom:10.0pt; margin-left:0in; line-height:115%; font-size:11.0pt; font-family:"Calibri","sans-serif"; } Name of Entity Thread Count = 1 Thread Count = 2 Thread Count = 3 Thread Count = 4 Thread Count = 5 Thread Count = 8 Account 51 93 100 100 100 97 Contact 50 90 99 100 99 95 Campaign 60 100 103 102 102 100 Task 46 83 90 91 89 89 41 77 95 96 93 89 Quote 36 70 100 100 100 100 QuoteDetail 10 18 25 30 37 45 Invoice 40 76 101 101 101 101 InvoiceDetail 9 16 23 30 36 45 For most of the entities, the create throughput saturates after 3 to 4 threads, whereas few other entities had throughput increased even up to 8 concurrent threads. These results are obtained in a typical test environment (described in below section). The numbers may vary depending on your system’s hardware and software configuration but it will provide you a nice way to measure the Create performance and predict approximate time for uploading data in your system. Hardware Details This experiment was done using a four box On Premise configuration with the following server details.
The DbPopulator tool, released as part of CRM Performance Toolkit, provides a nice and easy way to measure SDK Create performance. It can also be used to predict multi threaded upload speed for any MSCRM client application (which uses MSCRM Web Services). Cheers, Koushik Bhattacharjee Источник: http://blogs.msdn.com/crm/archive/20...populator.aspx
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|
|
|