Martin Pincott, Technical Director. unique requirements + special solutions.

Slides:



Advertisements
Similar presentations
Express5800/ft series servers Product Information Fault-Tolerant General Purpose Servers.
Advertisements

Cultural Heritage in REGional NETworks REGNET Project Meeting Content Group
Case Study: Photo.net March 20, What is photo.net? An online learning community for amateur and professional photographers 90,000 registered users.
Topics to be discussed Introduction Performance Factors Methodology Test Process Tools Conclusion Abu Bakr Siddiq.
Performance Testing - Kanwalpreet Singh.
SSRS 2008 Architecture Improvements Scale-out SSRS 2008 Report Engine Scalability Improvements.
CS 443 Advanced OS Fabián E. Bustamante, Spring 2005 Resource Containers: A new Facility for Resource Management in Server Systems G. Banga, P. Druschel,
June 23rd, 2009Inflectra Proprietary InformationPage: 1 SpiraTest/Plan/Team Deployment Considerations How to deploy for high-availability and strategies.
Business Continuity and DR, A Practical Implementation Mich Talebzadeh, Consultant, Deutsche Bank
1 ITC242 – Introduction to Data Communications Week 12 Topic 18 Chapter 19 Network Management.
11 MONITORING MICROSOFT WINDOWS SERVER 2003 Chapter 3.
Capacity planning for web sites. Promoting a web site Thoughts on increasing web site traffic but… Two possible scenarios…
Firewall and Proxy Server Director: Dr. Mort Anvari Name: Anan Chen Date: Summer 2000.
Chapter 9 Overview  Reasons to monitor SQL Server  Performance Monitoring and Tuning  Tools for Monitoring SQL Server  Common Monitoring and Tuning.
Module 8: Monitoring SQL Server for Performance. Overview Why to Monitor SQL Server Performance Monitoring and Tuning Tools for Monitoring SQL Server.
Maintaining Windows Server 2008 File Services
MSF Testing Introduction Functional Testing Performance Testing.
Presented by INTRUSION DETECTION SYSYTEM. CONTENT Basically this presentation contains, What is TripWire? How does TripWire work? Where is TripWire used?
Virtual Memory Tuning   You can improve a server’s performance by optimizing the way the paging file is used   You may want to size the paging file.
Module 15: Monitoring. Overview Formulate requirements and identify resources to monitor in a database environment Types of monitoring that can be carried.
Module 8: Server Management. Overview Server-level and instance-level resources such as memory and processes Database-level resources such as logical.
Windows Server MIS 424 Professor Sandvig. Overview Role of servers Performance Requirements Server Hardware Software Windows Server IIS.
1 CADE Finance and HR Reports Administrative Staff Leadership Conference Presenter: Mary Jo Kuffner, Assistant Director Administration.
Types of Operating System
1 The SpaceWire Internet Tunnel and the Advantages It Provides For Spacecraft Integration Stuart Mills, Steve Parkes Space Technology Centre University.
Introduction to HP LoadRunner Getting Familiar with LoadRunner >>>>>>>>>>>>>>>>>>>>>>
Windows Server ® Virtualization Infrastructure Planning and Design Published: November 2007 Updated: January 2012.
TESTING STRATEGY Requires a focus because there are many possible test areas and different types of testing available for each one of those areas. Because.
Maintaining a Microsoft SQL Server 2008 Database SQLServer-Training.com.

Term 2, 2011 Week 3. CONTENTS The physical design of a network Network diagrams People who develop and support networks Developing a network Supporting.
Troubleshooting SQL Server Enterprise Geodatabase Performance Issues
Microsoft ® SQL Server ® 2008 and SQL Server 2008 R2 Infrastructure Planning and Design Published: February 2009 Updated: January 2012.
Get More out of SQL Server 2012 in the Microsoft Private Cloud environment Guy BowermanMadhan Arumugam DBI208.
Buffalo Data Storage Expansion June As organizations grow the amount of data storage capacity required to support it grows as well Increased data.
5 Chapter Five Web Servers. 5 Chapter Objectives Learn about the Microsoft Personal Web Server Software Learn how to improve Web site performance Learn.
Designing and Deploying a Scalable EPM Solution Ken Toole Platform Test Manager MS Project Microsoft.
Platinu m Sponsor s Silver Sponsors Gold Sponsor s.
Designing a Scalable Enterprise Project Management Architecture Ken Toole Platform Test Manager MS Project Microsoft Corporation.
Hosting an Enterprise Financial Forecasting Application with Terminal Server Published: June 2003.
Module 14 Monitoring and Optimizing SharePoint Performance.
Microsoft’s Worldwide Marketing Database with Windows 2000 Datacenter Server Scaling Up to the Needs of the Worldwide Marketing Database with Windows.
11 CLUSTERING AND AVAILABILITY Chapter 11. Chapter 11: CLUSTERING AND AVAILABILITY2 OVERVIEW  Describe the clustering capabilities of Microsoft Windows.
Web Access. Overview  Purpose  Prerequisites  Install Components  Enable Virtual Directories  IIS Configuration & Security  Troubleshooting.
Scaling RADIUS to Support a Nationwide Network Access Infrastructure Kostas Kalevras NTUA Network Operations Centre.
4/26/2017 Use Cloud-Based Load Testing Service to Find Scale and Performance Bottlenecks Randy Pagels Sr. Developer Technology Specialist © 2012 Microsoft.
3/12/2013Computer Engg, IIT(BHU)1 CLOUD COMPUTING-1.
Understanding Performance Testing Basics by Adnan Khan.
Maximizing Performance – Why is the disk subsystem crucial to console performance and what’s the best disk configuration. Extending Performance – How.
Final Fantasy ½: IOC Overview Team Q CSE 403 Winter ‘03 I’ve got something special for you.
Distributed Replay Testing With Your Data, Your Way! ca.linkedin.com/in/melodyzacharias.
Split your database Store temporary tables in a backend Don't use memo fields Create temporary tables to speed up queries Don't put Mac and Windows users.
If you have a transaction processing system, John Meisenbacher
Configuring SQL Server for a successful SharePoint Server Deployment Haaron Gonzalez Solution Architect & Consultant Microsoft MVP SharePoint Server
1 EMC CONFIDENTIAL—INTERNAL USE ONLY SMI-S Performance Overview and Status 8/28/2014.
Load Test Scenario Presentation Outline Introduction to Load Test Load Test capability of eValid Steps to create the Load Test Scripts.
Firewalls. Overview of Firewalls As the name implies, a firewall acts to provide secured access between two networks A firewall may be implemented as.
Server Upgrade HA/DR Integration
Maintaining Windows Server 2008 File Services
Software Architecture in Practice
Diskpool and cloud storage benchmarks used in IT-DSS
2016 Citrix presentation.
SQL Server Monitoring Overview
MONITORING MICROSOFT WINDOWS SERVER 2003
Upgrading to Microsoft SQL Server 2014
11/12/2018 6:58 PM © 2004 Microsoft Corporation. All rights reserved.
VMware vRealize® Operations™ Management Pack for Pure Storage
SpiraTest/Plan/Team Deployment Considerations
Designing Database Solutions for SQL Server
Presentation transcript:

Martin Pincott, Technical Director

unique requirements + special solutions

Unique Requirements 1. Explanation of system 2. Demo of Modules/Applications Special Solutions 3. Ramp it up, WebApp copes 4. Key points to remember WebApp to the Xtreme

Unique Requirements Why it’s a large website Organically grown over time First Application used in 2001 –Contained 429 specific data entry fields –Used for one purpose Ease-of-use benefited NHS –Provided an indication of the status of Estates & Facilities services in the NHS for the Department of Health.

What was solution for NHS improvement in monitoring targets “ Managing today's healthcare organisations poses unique challenges, and management need to be able to base their decisions on up-to-date and relevant information. NHS Estates' Performance Management Division is dedicated to supporting healthcare managers in this. Maintaining a vast range of data relevant to the project management of new healthcare premises and operating performance of NHS trusts.”

What was solution for Effective collection and monitoring of data Reporting and Analysing large amounts of data Providing a National overview using commonly defined data requirements

How was it constructed How was it constructed Originally developed as a WebApp 2.0 Upgraded into a WebApp 3.0 Split into separately developed programs All programs upgraded into WebApp 9.1 More programs added All programs upgraded into WebApp 10.0

Extreme Users Extreme number of users 4396 User Accounts 786 Organisations Sites 11 Modules

Extreme Operation Rapid development Extreme number of data entry points Servers are hosted on both the internet (WWW) and the NHS Net (NWW - Europe's largest private network)

Explanation of System Why it’s the first in its class Copes with peaks Designed for government environment Other web systems have been developed, but never succeeded due to the high demand of target deadlines.

WebApp achieves Identified Result: An extremely large application can be built successfully for high user demand on a large database with small resources.

Demonstration Please wait …..

Testing and Scaling up for High Volume Initial Problem Very high transaction volumes due to deadlines for data entry A high number of intensive users –3 week period up to deadline Without some control, sites generate Event 201 errors Max “safe” concurrent session count only 62 WebApp to the Xtreme

The Requirement How to set about testing more scientifically How to scale up to meet demand.

Testing Web Applications Testing Web Applications Microsoft Web Application Stress Tool Set up test server Create test script Run repeatedly –adjusting Stress test system threads count WebApp concurrent session count –monitoring NT Application event log Internal Dataflex (i.e. application) log files Memory and processor usage Stress Test system log

Test Goals Initially Session count limit –No event 201 errors Adjust concurrent session count setting –Show minimal Event 208 errors Adjust stress test Threads setting Applications running at full safe capacity Later Establish sensible limits –Memory –Performance

Initial Test Hardware Twin Pentium 1 Gig Processors 256 Meg ram WebApp and MS SQL Server both in this server Result Stress tool - 8 Threads WebApp concurrent session count for no errors - 67 Conclusion Limitation of concurrent session count protects against Event 201 errors

Separate MS SQL Server MS SQL Server deactivated, second (low spec) server with MS SQL substituted System Spec for MS SQL Server –Single Pentium 700 Processor –256 Meg Ram –Server also in use by development team Result Safe session setting of 67 could not be achieved. Doubling the WebApp timeouts allowed 67 connection count limit Actual setting limits were unreliable

Low Spec MS SQL Server Low Spec MS SQL Server Conclusion Event 201 errors are timeout related Anything that slows the response of the data-base down will cause 201 errors. Lengthening time outs is unproductive –Throughput declines

Low Spec MS SQL Server Low Spec MS SQL Server Recommendations Do not run MS SQL on a server that is also doing other things. One task, one server Do not use an old, under specified PC for MS SQL Server

High Performance Server High Performance Server New Server hardware Twin Xeon 3Gigahertz 2Gig Memory WebApp 9.1 WebApp and MS SQL in same server No Process pooling Results 32 Threads 277 Concurrent sessions Question Why could the (similar) live server not support these figures?

High Performance Server High Performance Server The live server was also supporting a small.NET application The.NET application was taking the equivalent of 1.75Gig of memory away from WebApp – for far less application complexity

High Performance Server High Performance Server Conclusions Moving to a higher spec server gives considerable bonus –256Meg ram supported 67 Session Count, –2Gig supports 277 Session Count Further 1 gig increased this to 324 Confirms relationship of memory availability to session count limit Recommendation Do not run.NET in the same server as WebApp

Separate WebApp Server and MS SQL WebApp and MS SQL server on separate servers Twin Xeon 3Gigahertz 3 Gigahertz processors 2Gig Memory WebApp 9.1 No Process pooling Results 32 Threads 277 Connection limit Peak sessions e-fm 236 Total Sessions 418 Peak sessions Eric 164 Total sessions 631 Slightly better throughput

Network speeds increased Network speeds increased Servers moved to separate, 1 gig Network Results No change in connection limit Throughput increased again

Network speeds increased Network speeds increased Conclusion Throughput is increased by –Separating MS SQL server from WebApp –Increasing Network speeds Session count is limited by available memory Recommendation Session count should be set such that memory does not start to page to disk – –in a 2 gig server, approx 1.5 gig memory usage

WebApp Server Enterprise WebApp Server Enterprise Master and one slave, separate MS SQL Server Twin Xeon 3 Gigahertz processors 2Gig Memory WebApp 10.0 No Process pooling Results 40 Threads 274 session count limit –3 less No significant change in peak/total sessions Master shows –<512 Meg memory in use, –Processor <10%

WebApp Server Enterprise WebApp Server Enterprise Conclusion Similar to single WebApp server Master/Slave configuration reduces safe connection count by three Master is very unstressed These results would scale up to multiple slave WebApp servers Observation Web App Enterprise master does not need a lot of memory.

Process Pooling Results 160 Threads (Previous 40) 1050 Session Count (Previous 274) Sessions e-fm peak 765 Total 1430 Sessions Eric peak 645 Total 2536 Shared between –e-fm < 80 processes –Eric max 81 processes Static memory load

Process Pooling Conclusion Huge increase in connections and throughput Session count and Process count decoupled Threefold increase in peak and total sessions Much increased throughput Much easier tuning

Process Pooling Other Observations No other effects detected when PP enabled Robust

Usability Initial 67 concurrent sessions Very slow working at peak times to Some complex reports unusable at peak times Now 1050 concurrent sessions Negligible delay when stress test running –Complex report now delivered in less than 10 seconds –Better than current live system

Scaleability Multiple Slave Servers now a matter of Good user performance Resilience and failover Spare capacity to deliver adequate performance in the event of any hardware failure

What did we learn? Load-testing is the key to tuning Do not guess – test! Your goal is a combination of –stability –performance –failover protection Understanding concurrent sessions is key. Memory usage is critical –Do not allow to page (go virtual) Process pooling is the key to controlling memory usage. Re-test will be necessary on adding new modules and applications

What did we learn? That all of this actually does work! Comments from Steve Meeley, Data Access Worldwide Keep.NET away from anything that is performance critical! Comment from ASCKEY!

Process Pooling Tips Process Pooling Tips Track the users through the system using a session table In your DD's Procedure mReset_DDO Set pSite_ID To "" End_Procedure In Your WO's Procedure mReset_WO Set pTrack_ID To "" Send mReset_DDO Of Site_DD Send mReset_DDO Of Block_DD End_Procedure

Thank you ! Any questions? WebApp to the Xtreme