In Production Juan Marin. Agenda Introduction Reliability Availability Performance Data optimizations Runtime optimizations Measuring your environment.

Slides:



Advertisements
Similar presentations
A Roadmap of Open Source components for GI Web Services and Clients A Paul R Cooper MAGIC.
Advertisements

WEB AND WIRELESS AUTOMATION connecting people and processes InduSoft Web Solution Welcome.
Concurrent Web Map Cache Server Zao Liu, Marlon Pierce, Geoffrey Fox Community Grids Laboratory Indiana University.
Database Tuning Principles, Experiments and Troubleshooting Techniques Baseado nos slides do tutorial com o mesmo nome da autoria de: Dennis Shasha
XIr2 Recommended Performance Tuning Andy Erthal BI Practice Manager.
Copyright 2007, Information Builders. Slide 1 Performance and Tuning Mark Nesson, Vashti Ragoonath June 2008.
Enhancing Application Performance Root Causes and Quick Solutions.
Welcome to Middleware Joseph Amrithraj
Executional Architecture
GeoServer and OpenGeo –Chris Holmes. Geospatial Web Server –vector and raster data Open standards –WFS –WMS –WCS Gateway to the “GeoWeb” What is GeoServer?
CloudStack Scalability Testing, Development, Results, and Futures Anthony Xu Apache CloudStack contributor.
Netscape Application Server Application Server for Business-Critical Applications Presented By : Khalid Ahmed DS Fall 98.
Development of Java plug-in for Geoserver to read Oracle GeoRaster Data Authors Baskar Dhanapal CoreLogic Bangalore, India Perumal Chinnuswamy CoreLogic.
Oracle 10g Database Administrator: Implementation and Administration
Google Bigtable A Distributed Storage System for Structured Data Hadi Salimi, Distributed Systems Laboratory, School of Computer Engineering, Iran University.
ESRI ArcGIS Server Behind the scenes Pavel Janda
Session-01. What is a Servlet? Servlet can be described in many ways, depending on the context: 1.Servlet is a technology i.e. used to create web application.
Charlie Crocker Vice President Farallon Geographics, Inc. An Overview of Internet Mapping Technology.
VMware vCenter Server Module 4.
Apache Jakarta Tomcat Suh, Junho. Road Map Tomcat Overview Tomcat Overview History History What is Tomcat? What is Tomcat? Servlet Container.
Understanding and Managing WebSphere V5
Christopher M. Pascucci Basic Structural Concepts of.NET Browser – Server Interaction.
11 REVIEWING MICROSOFT ACTIVE DIRECTORY CONCEPTS Chapter 1.
This presentation will guide you though the initial stages of installation, through to producing your first report Click your mouse to advance the presentation.
1 Oracle 9i AS Availability and Scalability Margaret H. Mei Senior Product Manager, ST.
Apache JMeter By Mohamed Talaat
Hands-On Microsoft Windows Server 2008

Chapter 7: Using Windows Servers to Share Information.
Introduction and simple using of Oracle Logistics Information System Yaxian Yao
GIS technologies and Web Mapping Services
Oracle10g RAC Service Architecture Overview of Real Application Cluster Ready Services, Nodeapps, and User Defined Services.
INSTALLING MICROSOFT EXCHANGE SERVER 2003 CLUSTERS AND FRONT-END AND BACK ‑ END SERVERS Chapter 4.
Shibboleth IdP Training: Productionalization January, 2009.
5 Chapter Five Web Servers. 5 Chapter Objectives Learn about the Microsoft Personal Web Server Software Learn how to improve Web site performance Learn.
Bonrix SMPP Client. Index Introduction Software and Hardware Requirements Architecture Set Up Installation HTTP API Features Screen-shots.
Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure.
Step By Step Windows Server 2003 Installation Guide Step By Step Windows Server 2003 Installation Guide.
Extension to Geoserver for reading ESRI Mapcaches Pär Jonsson Project manager Lantmäteriet, Sweden Mauritz Bomark System architect Lantmäteriet,
Oracle 10g Database Administrator: Implementation and Administration Chapter 2 Tools and Architecture.
ArcGIS Server for Administrators
Exploring Spatial Data Infrastructure in an Open Source World Jacqueline Lowe UNC-Asheville National Environmental Modeling and Analysis Center Jacqueline.
“Load Testing Early and Often” By Donald Doane Presentation to the Rockville MDCFUG.
® IBM Software Group © 2007 IBM Corporation Best Practices for Session Management
Process Architecture Process Architecture - A portion of a program that can run independently of and concurrently with other portions of the program. Some.
GIS in the cloud: implementing a Web Map Service on Google App Engine Jon Blower Reading e-Science Centre University of Reading United Kingdom
GeoServer: Past, Present, Future Justin Deoliveira.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
Bigtable: A Distributed Storage System for Structured Data Google Inc. OSDI 2006.
Apache Solr Dima Ionut Daniel. Contents What is Apache Solr? Architecture Features Core Solr Concepts Configuration Conclusions Bibliography.
GeoServer Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
SSE WebMapViewer Recent Developments Steven Smolders SSE Workshop ESA - ESRIN, Frascati, Rome.
Presented by Deepak Varghese Reg No: Introduction Application S/W for server load balancing Many client requests make server congestion Distribute.
Windows Vista Configuration MCTS : Internet Explorer 7.0.
W W W. R E F R A C T I O N S. N E T WMS Performance Tests! Mapserver & Geoserver FOSS4G 2007 Presented by Brock Anderson and Justin Deoliveira Shapefiles.
Understanding and Improving Server Performance
Apache web server Quick overview.
Introduction to Distributed Platforms
Affinity Depending on the application and client requirements of your Network Load Balancing cluster, you can be required to select an Affinity setting.
Netscape Application Server
性能测试那些事儿 刘博 ..
Open Source distributed document DB for an enterprise
Conditions Data access using FroNTier Squid cache Server
Software Architecture in Practice
IS4680 Security Auditing for Compliance
Introduction to Apache
Nate Nelson I*LEVEL, Inc.
Types of Spatial Data Sites
Client/Server Computing and Web Technologies
Running C# in the browser
Presentation transcript:

In Production Juan Marin

Agenda Introduction Reliability Availability Performance Data optimizations Runtime optimizations Measuring your environment Monitoring your environment Example

Introduction No recipes, just guidelines Security Criteria for the quality of a production deployment: – Reliability – Availability – Performance

Change default admin user!!! Block geoserver/web, access only internally Use roles New security subsystem coming in 2.2 Dont forget about security

Reliability Disable unused services Control server resources – Set WMS rendering memory allocation and processing time limits – Set WFS response size limits – Optimize WFS response types Limit concurrent requests – Limit available server threads to reduce concurrency – Implement control flow to queue requests and avoid server overload

Change default logging

Avoid system overload Use control flow plugin Limits # of concurrent requests by: – Service type (i.e. WMS, WFS, global) – User (cookie based, browsers) – IP address (any client)

Control Flow

Availability Use mechanism to detect server unresponsiveness and restart if necessary (i.e. watchdog) Use load balancing across a pool of servers Provide high availability by using redundant hardware and software components throughout the system

Data Optimizations Sometimes the most important thing to do!! Prepare your maps – Symbology that makes sense – Scale dependency Store vector and raster data in the most frequently requested coordinate system

High Availability Configurations Load Balancer (i.e. HAProxy)

Performance Optimize data and map configuration – Optimize raster and vector data storage – Dont show too much data at once (~1000 features per map request) Use most recent version of Oracle JVM – Run in server mode – Configure options for maximum performance Install native code extensions for JAI and Image I/O Cluster your deployment – Better performance under load

Data optimizations Raster optimizations – Use correct format (GeoTiff, BigTiff, etc.) – Use ImageMosaic – Use ImagePyramid Vector optimizations – Make sure proper Spatial Index is being used – Use a spatial database Validate connections Use connection pooling – Generalize features for higher zoom levels – Avoid shapefile when filtering on attributes

GeoWebCache Cache tiles for fast map rendering Performance is sometimes orders of magnitude faster than regular WMS GeoWebCache is extremely fast, with some unique features – Integrated with GeoServer or standalone with any WMS – Can expire tiles by reading a GeoRSS feed – Seed tile cache down to a certain zoom level, dynamically cache below that

Runtime optimizations JVM settings for production (example) – -server: run in server mode – -Xms2048m -Xmx2048m: maximum heap size, allocates it all at startup – -XX:PermSize=128m -XX:MaxPermSize=256m: sets size and maximum size of permanent collection memory. Very important since GeoServer uses a lot of classes – -XX: SoftRefLRUPolicyMSPerMB=3600: Increases the effectiveness of datastore cache references by increasing the lifetime of soft references – -XX:+UserParalleGC: enables multi-threaded garbage collection. Use with multicore systems only – -XX:+AggressiveOpt: enables experimental optimizations that will be defaults in future versions of the JVM

Container tuning: Optimize Tomcat Limit number of concurrent threads in Tomcat ( /conf/server.xml) Install Apache Portable Runtime (APR) more info here doc/apr.html doc/apr.html

Measuring your environment JMeter VisualVM

Monitoring your environment

Example Data – Washington DC OSM Software – Ubuntu – PostgreSQL Postgis 2.0 – Tomcat – GeoServer – JVM: OpenJDK6, Oracle JDK6 and Oracle JDK7 Hardware – 4 cores – 8GB RAM

Example data

Results

References GeoServer in Production White Paper production/register/?target=/publications/geoserver- production/ GeoServer on steroids steroids

Questions? Thank You