ArcIMS Tips - PowerPoint PPT Presentation

View by Category
About This Presentation
Title:

ArcIMS Tips

Description:

Wait until you receive ArcIMS 4. Migrate directly from ... Thin JavaScript, DHTML. Server Side HTML from ColdFusion, JSP, ASP... ArcIMS 4. Tune Your Viewers ... – PowerPoint PPT presentation

Number of Views:145
Avg rating:3.0/5.0
Slides: 63
Provided by: margaretly
Category:
Tags: arcims | dhtml | tips

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: ArcIMS Tips


1
ArcIMS Tips Tricks
ArcIMS 4
  • Dan Haag
  • November 12, 2002

2
Overview
  • Topics to a better ArcIMS site
  • Performance
  • Scalability
  • Availability
  • Security
  • Manageability
  • Case Studies

3
ArcIMS Evolution
ArcIMS 9
ArcIMS Tracking Server
ArcIMS ArcMap Server
ArcIMS 4
2002
ArcIMS Route Server
ArcIMS 3.1
2001
4
Migrating from previous versions
  • Currently using ArcIMS 3.0
  • Wait until you receive ArcIMS 4. Migrate
    directly from ArcIMS 3.0 to 4, following
    instructions for 3.0 to 3.1 migration. Migrating
    pdf available at support.esri.com.
  • Currently using ArcIMS 3.1
  • Use existing 3.1 config axls viewers in 4.0.
    No modifications should be required.

5
System Requirements
  • Microsoft Windows NT 4.0, 2000, XP
  • Sun Solaris, AIX, HP-UX, Linux
  • Choice of operating system will determine
  • Web Server
  • Java Servlet engine
  • Application Servers
  • Java Runtime Environment (JRE)
  • Detailed requirements at support.esri.com

6
Installation Tips General
  • Uninstall ArcIMS 3.1/3.0 completely
  • Uninstall Servlet Engine JRE
  • Install ArcIMS 4.0
  • Use Site Converter Utility to transfer existing
    serialization files to new format if desired.
  • Migrate Viewers config axl files if going from
    3.0 to 4.0

7
Installation Tips
  • Install JRE before anything else
  • JRE 1.3.1 ships with ArcIMS
  • Make sure that Web server is up and running
  • Use default port 80 for web server, different one
    for additional servers
  • Hit http//localhost to ensure web server is
    running, or use web servers management tool.
  • Make sure that the servlet engine is correctly
    installed and configured with the web server
  • Can only have ONE servlet engine configured

8
More Installation Tips
  • Use test servlets that come with software
  • Example ServletExec, test with
  • http//localhost/servlet/TestServlet
  • http//localhost/servlet/DateServlet
  • Make sure virtual directories are in place
  • Adequate system resources for ArcIMS Spatial
    Servers
  • Network security issues Firewalls, DNS issues
  • Use the ArcIMS Diagnostics Page
  • C\Program Files\ArcGIS\ArcIMS\Common\Diagnostics\
    ArcIMS_Diagnostics.html
  • Majority of installation problems start and end
    here!!!

9
Performance
  • How long does a request take?
  • Perceived vs. actual performance
  • Focus on getting the fastest single user
    performance by
  • Tuning your data
  • Tuning your AXLs
  • Choosing your client applications

10
Spatial Server Log Files
  • Use your spatial server log files to determine
    performance and hot spots
  • Most popular map services
  • Slowest map services
  • Slowest layers
  • Located in the ltArcIMSgt\Server\log or
    AIMSHOME/log directory
  • One log file for each server type image,
    feature, query, geocode, extract, arcmap,
    metadata
  • Provide a record of all requests and responses
  • First place to go if theres a problem with the
    response

11
Turning Log Files on
  • Log files, by default, only log errors
  • To log all requests and responses
  • Open aimsserver.cfg in server\etc directory
  • Change logfileserrors to logfileson
  • Restart monitor and appserver
  • More details on log files are available at
    http//support.esri.com/
  • Type in the key words log files

12
Tune Your Data
  • Data
  • Generalize data by reducing features and/or
    vertices
  • Shapefiles
  • Make sure your spatial index files (.sbn and
    .sbx) are in sync with your data
  • ArcSDE
  • RDBMS tuning
  • Grid sizes

13
Steps to Better AXL Tuning
  • Tune your scale dependencies
  • Where clause vs. Valuemaps
  • Use where clauses when you can reduce the number
    of features found.
  • SPATIALQUERYs searchorder attribute (ArcSDE
    only)
  • Use attributefirst if the query will reduce the
    amount of features queried more than the filter.
  • Use Strings Integers in Valuemaps

14
Steps to Better AXL Tuning
  • Use Featurelimits for large layers
  • To avoid having large queries bog down your
    system
  • Minimize the use of antialiasing and transparency
  • Minimize multilayered symbols
  • Cased highways, etc.

15
Steps to Better AXL Tuning
  • Choose the right output image (GIF, JPG, PNG-8
    bit, PNG-24 bit)
  • JPG, PNG-24 bit for gt 256 Colors
  • GIF, PNG-8 bit for lt 256 Colors
  • Use either pyramided raster types (MrSID, ArcSDE)
    or uncompressed imagery (TIFF)
  • Avoid projection on the fly
  • Store data in geographic coordinates (WGS84) if
    possible.

16
Tune Your Viewers
  • Choose the client thats right for your
    applications
  • ThickJava, ActiveX, ArcExplorer, ArcGIS
  • ThinJavaScript, DHTML
  • Server SideHTML from ColdFusion, JSP, ASP

17
Tune Your Viewers
  • Bandwidth
  • 28.8k connection use server side or thin
  • DSL or Intranet can use thick
  • Functionality
  • Simple functionality (pan, zoom, id)thin
  • Sophisticated geoprocessingthick

18
Tune Your Viewers
  • Default viewers are meant to be generic.
  • Modify them so that they are optimized for your
    data and application.
  • If you need major customization, use the server
    side connectors (Java, ActiveX, or ColdFusion).

19
Scalability
  • How can you maintain your single user performance
    across multiple users?
  • Tune your ArcIMS instances
  • Hardware (capacity planning)

20
Understanding Instances
21
Understanding Instances
22
How Many ArcIMS Instances Do I Need?
  • Answer Approximately one for each simultaneous
    request
  • Simultaneous users are not the same as
    simultaneous requests!
  • Can estimate simultaneous requests from average
    requests per day
  • Example 300,000 avg. req/day

23
Average Request/Second Estimate
  • From avg. req/day find avg. req/s
  • Might use 80/20 rule
  • 80 of Web traffic occurs 20 of the time
  • For 300,000 avg. req/day, this is 14 avg. req/s.

24
Maximum Request/Second Estimate
  • Poisson distribution can be used to estimate the
    maximum req/s.
  • P(x) is the probability of getting x simultaneous
    requests with an avg. req/s of l.

25
Some Examples
26
Some Examples
  • For 300,000 avg. req/day, you will at most get
    2627 simultaneous requests.

27
What Does All This Mean?
  • For 300,000 -gt expect 27 requests/second
  • Need to scale your ArcIMS site to handle 27
    simultaneous requests
  • Set the number of instances to 27 if you dont
    want requests to wait in the queue

28
How Many ArcIMS Machines Do I Need?
  • Rule of thumb
  • 48 instances of ImageServer per CPU
  • 515 instances of FeatureServer per CPU
  • No more than 10 instances per spatial server
  • Some variables affect this

29
Scalability Factors
  • ArcSDE vs. Shapefiles
  • Shapefiles
  • Faster setup
  • Faster single hit performance
  • More CPU usage on MapServer
  • ArcSDE
  • Better maintainability
  • Better scalability
  • Offset CPU to DB server

Shape
ArcSDE
Retrieval Time
Number of Users
30
Scalability Factors
  • Vector vs. Raster
  • Raster decompression (MrSID, JPG, etc.) requires
    more CPU on spatial server.
  • FeatureServer vs. ImageServer
  • FeatureServer only retrieves features and streams
    them (compressed or decompressed).
  • ImageServer retrieves and renders features and
    therefore takes more CPU.

31
Other Scalability Factors
  • Serverside business logic
  • ColdFusion/JSP/ASP
  • Extra processing on Web server machines

32
Other Scalability Factors
  • Make sure you have enough bandwidth
  • ImageServer
  • Average Image Size req/s Mbits/s
  • Example 1
  • 100k JPG 50 5MBytes/s 40Mbits/s Large
    T3!
  • Example 2
  • 10k PNG 10 .1MBytes/s .8Mbits/s T1
  • FeatureServer
  • Depends
  • Compression 1020 times
  • Number of features transferred

33
Virtual Servers
  • What are they?
  • Groups of instances across machines
  • Why do we need them?
  • To be able to assign services to different
    spatial servers/machines

34
Virtual Servers
  • Recommendation
  • Use only the default virtual server
  • Except if
  • Need to prioritize services
  • e.g., Services A and B are more important and
    need to run on the 1.5 GHz machine. Services C
    and D are less important and can run on the 133
    MHz machine.

35
Availability
  • How much time is your site available for use?
  • Components will fail.
  • Often measured in percentage uptime.

36
How to Maximize Availability
  • Machine availability
  • Use UPSs on all machines
  • Redundant power supplies
  • Everything hot swappable
  • Data availability
  • Use a RAID configuration
  • Level 0striping
  • Level 1mirroring
  • Level 5parity
  • Level 01mirrored and striped

37
Application Availability
  • Web servers
  • Multiple Web servers with a load balancer
  • ArcIMS availability
  • Distribute components on different machines
  • Multiple spatial servers
  • Always run multiple spatial servers
  • Distribute spatial servers on multiple machines
  • Multiple ArcIMS AppServers
  • Consider running multiple ArcIMS AppServers

38
Network Availability
  • Multiple Internet Connections
  • Backup Firewalls
  • Backup Routers
  • Backup Switches

39
Staging Production
  • Never ever develop and test on your production
    system.
  • Development
  • Develop and test new applications
  • Staging
  • Test new applications under production conditions
  • Production
  • Move to production when ready

40
Monitor, Monitor, Monitor
  • Even if Web site is designed for 99.999
    availability, things will still fail.
  • Monitoring can be done using
  • Simple scripts perl, awk, bat
  • Commercial tools (SNMP, etc.)
  • Alerts can easily be sent to a pager

41
Security
  • How secure is your site?
  • How long would it take for someone to break-in?
  • What would be the costs related to a break-in?

42
Firewalls
  • A firewall allows control of access to a machine
    from the network.
  • It filters out packets of data based on a set of
    rules.
  • For instance allow all access to port 80 (http)
    and disallow all other ports on the system (ftp,
    telnet, etc.).

43
Recommend DMZ Network
Internet
Intranet
44
Most Popular
  • Web Server Outside Firewall
  • Port 5300 Open
  • File sharing from Intranet to Web server for
    image output

Intranet
Internet
AppServer Spatial Server Data
Web Server
45
Not Recommended
  • Connection between AppServer and spatial server
    persistent

5353
Http
WebServer AppServer
Spatial Servers
46
Service Authentication
  • Access to ArcIMS services can be restricted
  • Only people with proper credentials can access
    services
  • If information for accessing service is not
    correct, request is not sent to the ArcIMS
    Application Server, and an error message is
    returned to client
  • Process is called authentication

47
Limiting Access
  • By user name and password
  • By IP address
  • By setting an expiration date
  • By limiting the number of times a user can access
    the MapService
  • By limiting request elements such as GET_IMAGE or
    GET_FEATURES

48
Access Control List (ACL)
  • Text file based
  • XML based using XML elements
  • File is loaded in memory
  • Cumbersome to manage with many users
  • Must restart servlet engine after every change
  • JDBC-based ACL
  • Store permissions in a relational database
    accessed through a JDBC driver
  • Easier to manage large number of users
  • Changes can be made without restarting the
    servlet engine
  • If ACL is used, services are not accessible
    unless listed

49
ArcIMS Authentication
  • Use Digest Authentication
  • Not Basic
  • Use the RDBMS Acl over the file-based Acl
  • Can dynamically add/remove/update users
  • Single place to store privileges

50
Manageability
  • How manageable is your system?
  • Use fewer machines!
  • Use standard paths on all machines.
  • Come up with a standard methodology for
    installations, patches, etc.
  • Document all installs and changes made.

51
Case Studies
52
One Machine Scenario
  • Capacity
  • 30,000 maps/day (6 max. req/s)
  • 95 availability (18 days/yr)
  • Configuration
  • 1 machine running everything (Web server, ArcIMS,
    shapefiles)
  • Can support about 46 simultaneous requests

Internet
53
Two Machine Scenario
Internet
  • Capacity
  • 50,000 maps/day (8 max. req/s)
  • 95 availability (18 days/yr)
  • Configuration
  • 1 machine for Web server and AppServer
  • 1 machine for spatial server and shapefiles
  • Can support about 68 simultaneous requests

Web Server AppServer
Spatial Server
54
Three Machine DB Server Scenario
Internet
  • Capacity
  • 150,000 maps/day (16 max. req/s)
  • 99 availability (3.6 days/yr)
  • Configuration
  • 1 machine for Web server and AppServer
  • 2 machines for spatial server
  • 1 ArcSDE server
  • Can support about 16 simultaneous requests

Web Server AppServer
Spatial Server
ArcSDE Server
55
Five Machine DB Server Scenario
Internet
  • Requirements
  • 250,000 maps/day (24 max. req/s)
  • 99.5 availability (43 hrs/yr)
  • Configuration
  • 2 machines for Web server and AppServer
  • 1 machine as AppServer/spatial server
  • 2 machines for spatial server
  • 1 ArcSDE server
  • Can support about 24 simultaneous requests

Web Servers
AppServer Spatial Server
Spatial Servers
ArcSDE Server
56
A Large Size Mapping System
ArcSDE Server
Spatial Servers
App Servers
Web Server
57
ESRI Geography Network Node
58
ESRI Geography Network Node
59
Hardware Configuration
  • Data servers
  • Sun Ultra Enterprise 6500s
  • 12360 MHz Processors
  • 8 GB of Random Access Memory
  • 1 TB of Disk Storage
  • Web servers
  • U220Rs, E250s
  • 1 GB2 GB RAM
  • 2450 MHz Processors

60
Hardware Configuration
  • AppServers/Spatial Servers
  • E450s, U420Rs
  • 4 GB RAM
  • 4450 MHz Processors
  • Spatial Servers
  • E250s, U220Rs, U420Rs
  • 2 GB RAM
  • 2450 MHz Processors

61
Site Stats
  • Machines 44
  • Maps generated per day 1M
  • Peak per hours 100k
  • Average map generation time 1.6s
  • Map services 130
  • Availability requirements 99.5
  • Estimated capacity per day 5M

62
Need more information.
  • ESRIs Web Site www.esri.com
  • ArcIMS Resources support.esri.com
  • Dan Haag
  • Phone 636-949-6620 x8523
  • Email dhaag_at_esri.com
About PowerShow.com