Memory virtual hard diskImprove ArcGIS Server
A Method for concurrent performance
WY
1. Question raised 1.1 Overview
There are many ways to improve the concurrency performance of ArcGIS Server. This article discusses how to use memory to simulate hard disks to improve data reading efficiency when the user's hardware is powerful enough (mainly the memory is large enough, to improve the concurrency performance of ArcGIS Server.
1.2 Overall Thinking
To improve the concurrency performance of ArcGIS Server, if other conditions are the same, use the ramdisk software to simulate the memory in the system as a hard disk, then, two identical slice services are released in ArcGIS Server. One service slice is migrated to the memory disk (ramdisk), and the other service slice is stored in the same position (as a common hard disk ), then, use the stress test software on the client to test the concurrent performance of the two services, and finally reach the test conclusion.
2. Build 2.1 software environment
Software name |
Version Number |
Purpose |
ArcGIS |
10.1 |
Platform Testing, including server and desktop |
Windows 2008 |
R2 (64-bit) |
Operating System |
Ramdisk 64 |
1.6 (64-bit) |
Memory virtual hard disk Software |
Crystal disk mark |
3.0.1 (64-bit) |
Hard Disk speed testing software |
Microsoft Web application stress Tool |
1.1.293.1 |
Stress Testing Software |
2.2 hardware environment
Hardware category |
Specification |
CPU |
Intel (r) core (TM) i7 CPU 1.73 GHz (8 CPUs) |
Memory |
8 GB |
Hard Disk |
Hitachi hts725050a9a364 ata device 500g, 7200 RPM |
Graphics card |
NVIDIA Quadro FX 880 m |
2.3 Network Environment
Intel (r) 82577lm gigabitnetwork
3. Hard drive read/write speed test
After using ramdisk to virtualize 1 GB memory into a hard disk, the data read/write speed is as follows:
Virtual Front (General hard drive)
Virtual rear (memory virtual hard disk)
From the data on the read/write speed of the hard disk before and after the memory is virtualized, the speed difference between the memory and the hard disk is about 70 times.
3.2 publish the slice Service
Below we use ArcGIS Server to publish two slice services, except that the slice is placed in different locations (one on a common hard disk and the other on a memory virtual hard disk. In this way, we get the addresses of the two services:
Http:/// 192.168.32.153: 6080/ArcGIS/rest/services/wychinaram/mapserver
Http:/// 192.168.32.153: 6080/ArcGIS/rest/services/Tile/wychinat/mapserver
3.3 stress testing
Due to the complexity of the professional testing software Load Runner, This article uses the lightweight testing software Microsoft Web application stress tool as the stress testing software. One disadvantage of the software is that only one or more test addresses can be set statically, but some addresses cannot be tested according to certain rules, for example, the slice of a row or column is randomly selected for testing. In this article, five fixed slice addresses are selected as the test source, and 500 concurrent tests are performed for 1 minute. The software is as follows:
General test settings
Memory virtual disk test settings
General hard disk test settings
3.4
Test report
Memory virtual hard disk test report
General hard disk test report
4. Conclusion and consideration
As shown in the preceding test report, the average response time of the slice service decreases from 484.33 ms to 386.26 ms after the memory virtual hard disk is used. This conclusion does not fully reflect the advantages of the memory virtual hard disk for service performance improvement, because the memory read/write speed is about 70 times higher than that of the ordinary hard disk. So where is the problem?
Let's take a look at a figure that affects the performance architecture of ArcGIS Server:
Performance of ArcGIS Server
It can be seen that it takes about six steps to send a request from a browser to receive data. Each step may become a performance bottleneck, and gisserver is only one of these steps. In this article, because the slice positions selected during the test are the same (for example, each time a slice is requested for the 8th rows and 102 columns of the 103 layer ), as a result, this slice has been added to the system cache (memory) in the first request. In this way, each request will be directly loaded from the memory instead of read from the hard disk, whether the slice source is stored in a common hard disk or a virtual hard disk with memory is not that important.
If you can customize the test script by programming and precisely control that the slices of each concurrent access are at different levels and columns, you can draw a better conclusion, such as performance, the response time of a memory virtual hard disk can be increased to about 70 times over that of a common hard disk.