This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
map_suite_geocoder_performance_guide [2019/03/21 02:42] tgwikiupdate |
map_suite_geocoder_performance_guide [2019/03/21 02:49] tgwikiupdate |
||
---|---|---|---|
Line 3: | Line 3: | ||
The purpose of this guide is to help you to know following things: | The purpose of this guide is to help you to know following things: | ||
- | * A simple introduction for best practice of Map Suite Geocoder. | + | * An introduction for best practice of Map Suite Geocoder. |
* Using multi-thread to improve the performance of batch query. | * Using multi-thread to improve the performance of batch query. | ||
* The bottleneck of Map Suite Geocoder performance. | * The bottleneck of Map Suite Geocoder performance. | ||
Line 118: | Line 118: | ||
To compare the performance between single thread and multi-thread, we used the following (Figure 2) machine hardware device to do the benchmark: | To compare the performance between single thread and multi-thread, we used the following (Figure 2) machine hardware device to do the benchmark: | ||
- | {{:map_suite_geocoder_performance_guide_001.png}} | + | {{:map_suite_geocoder_performance_guide_002.png}} |
\\ | \\ | ||
//Figure 2. Machine Hardware Device Information.// | //Figure 2. Machine Hardware Device Information.// | ||
Line 124: | Line 124: | ||
Below Figure 3 shows the benchmark result: | Below Figure 3 shows the benchmark result: | ||
- | {{:map_suite_geocoder_performance_guide_001.png}} | + | {{:map_suite_geocoder_performance_guide_003.png}} |
\\ | \\ | ||
//Figure 3. Single Thread & Multi-Thread Benchmark Result.// | //Figure 3. Single Thread & Multi-Thread Benchmark Result.// | ||
Line 130: | Line 130: | ||
It shows that we improved about three times speed after using multi-thread. And the below Figure 4 shows the hardware usage when using multi-thread: | It shows that we improved about three times speed after using multi-thread. And the below Figure 4 shows the hardware usage when using multi-thread: | ||
- | {{:map_suite_geocoder_performance_guide_001.png}} | + | {{:map_suite_geocoder_performance_guide_004.png}} |
\\ | \\ | ||
//Figure 4. Hardware Usage Using Multi-Thread.// | //Figure 4. Hardware Usage Using Multi-Thread.// | ||
Line 136: | Line 136: | ||
To dig the limitation of the Geocoder with multi-thread we also created different [[https://aws.amazon.com/ec2/instance-types|Amazon® instances]] to do the same benchmark. Below Figure 5 is the test result: | To dig the limitation of the Geocoder with multi-thread we also created different [[https://aws.amazon.com/ec2/instance-types|Amazon® instances]] to do the same benchmark. Below Figure 5 is the test result: | ||
- | {{:map_suite_geocoder_performance_guide_001.png}} | + | {{:map_suite_geocoder_performance_guide_005.png}} |
\\ | \\ | ||
//Figure 5. Amazon® Instance Benchmark Result.// | //Figure 5. Amazon® Instance Benchmark Result.// | ||
Line 150: | Line 150: | ||
Below Figure 6 is the analysis result that did **1,000** queries one by one, the execution time is **4.669** seconds: | Below Figure 6 is the analysis result that did **1,000** queries one by one, the execution time is **4.669** seconds: | ||
- | {{:map_suite_geocoder_performance_guide_001.png}} | + | {{:map_suite_geocoder_performance_guide_006.png}} |
\\ | \\ | ||
//Figure 6. Analysis Result With 1,000 Queries.// | //Figure 6. Analysis Result With 1,000 Queries.// | ||
Line 156: | Line 156: | ||
And the below Figure 7 is the analysis result that did **10,000** queries one by one, the execution time is **16.588** seconds: | And the below Figure 7 is the analysis result that did **10,000** queries one by one, the execution time is **16.588** seconds: | ||
- | {{:map_suite_geocoder_performance_guide_001.png}} | + | {{:map_suite_geocoder_performance_guide_007.png}} |
\\ | \\ | ||
//Figure 7. Analysis Test With 10,000 Queries.// | //Figure 7. Analysis Test With 10,000 Queries.// | ||
It's obvious that the most time spent is on I/O (includes file or cache data read), then normalization. | It's obvious that the most time spent is on I/O (includes file or cache data read), then normalization. |