SlideShare a Scribd company logo
Scaling with PostgreSQL
Magic of Tuning and Connection Pooling
Pitfalls where IT Mangers get Trapped
• Failure to have a correct plan for scaling with
business
• Falling prey to proprietary database vendors
and their costly hardware
• Failing to identify the correct Core-Memory
Ratio
• Adding Resources will not help all the time
Benchmark Studies: Objective
• See how PostgreSQL scales with hardware
• See how PostgreSQL scales with tuning
• See the effect of proper Connection and Transaction
Management on PostgreSQL performance
• Highlight the importance of Tuning despite increasing
system hardware
Benchmark Studies: Test bed Setup
We have used HammerDB for this benchmark
• An open source benchmarking tool which provides test cases for TPC-C and
TPC-H benchmarks
• We used TPC-C for our tests
All the tests were run on a Virtual Machine (using VM player) on a Laptop
• 64-bit Intel 8 core CPU
• 16 GB of physical memory
• Host OS- Windows 7 64 bit
Testing Environment
• Postgres Plus Advanced Server v9.2
• Running on Red Hat Enterprise Linux v6.1 (with kernel version 2.6)
Disclaimer
• Performance without tuning and with tuning is shared here
to make a point
• The tests were done on a virtual environment running on a
low end host machine
• Scalability or raw performance numbers presented here are
not true indicators of capabilities of PostgreSQL/Postgres
Plus Advanced Server
• With the real server class machines these numbers would be
much higher than on the test machine
Low Configuration PostgreSQL server scaling with
Connection Pooling
Database Parameters:
• No of Processors: 1
• Memory: 3GB,
• shared_buffer: 32MB,
• effective_cache_size: 128MB
• work_mem=1MB
Key Learning:
Test 1
- The performance degrades once the load increases beyond a point [sounds familiar?]
Test 2
- Session Level Connection pooling with max 50 connections in Pool
- Connections aquired as needed so not much difference than first test
Test 3
- Transaction Level Connection Pooling with 25 connections
- Does well as concurrency increases [scaling with growth!!!]
Inconsistent/low and
highs can be attributed
to resources contention
during autovacuum
Some Important Parameters for Tuning in
PostgreSQL
• shared_buffer
• effective_cache_size
• work_mem
• wal_buffer
• bgwriter_delay
• effective_io_concurrency
• checkpoint_segment
• checkpoint_timeout
• random_page_cost
• autovacuum_naptime
• autovacuum_vacuum_threshold
• autovacuum_analyze_threshold
• autovacuum_vacuum_scale_factor
• autovacuum_analyze_scale_factor
• autovacuum_vacuum_cost_delay
PostgreSQL Performs better after Tuning
Database Parameters:
• No of Processors: 1
• Memory: 3GB,
• shared_buffer: 32MB/256MB,
• effective_cache_size: 128MB/750MB
• work_mem=1MB
Key Learning:
Test 1: Basic Setup
- The performance degrades once the load increases beyond a point [sounds familiar?]
Test 2: Tuned postgresql.conf for shared_buffer and effective_cache_size
- Up to 19% gain over basic configuration
Test 3: Tuned other parameters in postgresql.conf
- Up to 21% gain
- The occasional performance troughs because of vacuum operation is
not there anymore
Still the performance is
not scalable in any of the
3 cases and degrades
with concurrency [25-
30% loss]
Combining the Effect of Connection Pooling and
Tuning
Database Parameters:
• No of Processors: 1
• Memory: 3GB,
• shared_buffer: 256MB,
• effective_cache_size: 750MB
• work_mem=1MB
Key Learning:
Test 1: Basic Setup with tuned shared_buffer and effective_cache_size
- The performance degrades once the load increases beyond a point [sounds familiar?]
Test 2: Tuned other parameters in postgresql.conf
- Performance gain of up to 14%
- The performance continues to degrade [by a margin of 26%] at higher concurrency
Test 3: Transaction Level Connection Pooling
- Performance is more consistent
- Degradation/loss in performance at peak concurrency is quite less [14% only]
Finally we get
a consistently
scaling
Database
Setup
Tuning and proper Transaction Management
enhances the benefit of CPU addition
Database Parameters:
• No of Processors: 2
• Memory: 3GB,
• shared_buffer: 256MB,
• effective_cache_size: 750MB
• work_mem=1MB
Key Learning:
Test 1: Basic Setup with tuned shared_buffer and effective_cache_size
- The performance degrades once the load increases beyond a point
Test 2: Tuned other parameters in postgresql.conf
- Performance gain of 36% at Peak load
- The performance continues to degrade [by a margin of 26%] at higher concurrency
Test 3: Transaction Level Connection Pooling
- Performance is more consistent
- Improvement caused by tuning is more prominent with boosted computing
[1CPU- 46% | 2CPU- 80%]
Even after boosting
computing power,
to get best of
resources, tuning
and connection
pooling plays a
major role
Tuning and proper Transaction Management
enhances the benefit of Memory Upgrade
Database Parameters:
• No of Processors: 2
• Memory: 4.5GB,
• shared_buffer: 750MB,
• effective_cache_size: 2GB
• work_mem=1MB
Key Learning:
Test 1: Basic Setup with tuned shared_buffer[750MB] and effective_cache_size[2GB]
- The performance degrades once the load increases beyond a point
Test 2: Tuned other parameters in postgresql.conf
- Performance gain of 55% at Peak load
- The performance continues to degrade [by a margin of 15%] at higher concurrency
Test 3: Transaction Level Connection Pooling
- Performance is more consistent
- Gain with additional memory is more prominent after tuning and connection pooling
To make best use
of added memory
tuning and
connection
pooling are
important
Low Memory Tuned Postgres Vs Un-Tuned
Postgres with Higher Memory
Database Parameters:
• No of Processors: 2
• Memory: 3GB/4.5GB,
• shared_buffer: 256MB/750MB,
• effective_cache_size: 750MB/2GB
• work_mem=1MB
Key Learning:
Test 1: Un-tuned PostgreSQL [only shared_buffer and effective_cache_size is tuned]
with 4.5 GB RAM
- The performance continues to degrade [by a margin of 38%] at higher concurrency
Test 3: Tune PostgreSQL with Transaction Level Connection Pooling
- Performance is more consistent
- Despite low memory, performance is comparable at low concurrency
- A Tuned database with proper transaction management does better as load increases
Most of your
performance
issues can be
resolved with
proper application
and database
tuning
Ashnik Message
• You don’t always need a high end system in the beginning to
scale in future
• There are commercially supported Open Source Solutions
available which scale as good as their proprietary
counterparts
• There is no generic core-memory formula- Our consultants
help customers identify what is best for them
• A well designed application with a well tuned database can
work better than a un-optimized database on a high end
server
How Ashnik Helps?
Server sizing
Health Check contracts on half yearly and annual terms
On-demand Health Check and Tuning services
Provide in migration services- $$ Saving by migrating from
costly proprietary database solutions
The Magic of Tuning in PostgreSQL

More Related Content

PPTX
PostgreSQL Hangout Parameter Tuning
PDF
Overview of Postgres Utility Processes
 
PDF
Linux internals for Database administrators at Linux Piter 2016
PDF
5 Steps to PostgreSQL Performance
PDF
Linux tuning to improve PostgreSQL performance
PPTX
PostgreSQL Hangout Replication Features v9.4
PDF
Best Practices of HA and Replication of PostgreSQL in Virtualized Environments
PPT
PostgreSQL9.3 Switchover/Switchback
PostgreSQL Hangout Parameter Tuning
Overview of Postgres Utility Processes
 
Linux internals for Database administrators at Linux Piter 2016
5 Steps to PostgreSQL Performance
Linux tuning to improve PostgreSQL performance
PostgreSQL Hangout Replication Features v9.4
Best Practices of HA and Replication of PostgreSQL in Virtualized Environments
PostgreSQL9.3 Switchover/Switchback

What's hot (20)

PDF
Concurrency
PDF
2016 may-countdown-to-postgres-v96-parallel-query
PPTX
X-DB Replication Server and MMR
PDF
Postgres in Amazon RDS
PDF
Get to know PostgreSQL!
PDF
Out of the box replication in postgres 9.4
PDF
Countdown to PostgreSQL v9.5 - Foriegn Tables can be part of Inheritance Tree
PDF
Is There Anything PgBouncer Can’t Do?
 
PDF
PostreSQL HA and DR Setup & Use Cases
PDF
Architecture for building scalable and highly available Postgres Cluster
PDF
PostgreSQL 9.6 Performance-Scalability Improvements
PDF
Remote DBA Experts SQL Server 2008 New Features
ODP
PostgreSQL Replication in 10 Minutes - SCALE
PPT
Building tungsten-clusters-with-postgre sql-hot-standby-and-streaming-replica...
PDF
Geographically Distributed PostgreSQL
PDF
Enterprise PostgreSQL - EDB's answer to conventional Databases
PDF
Postgres on OpenStack
 
PDF
Why we love pgpool-II and why we hate it!
PPT
MySQL Performance Tuning at COSCUP 2014
PDF
PostgreSQL Scaling And Failover
Concurrency
2016 may-countdown-to-postgres-v96-parallel-query
X-DB Replication Server and MMR
Postgres in Amazon RDS
Get to know PostgreSQL!
Out of the box replication in postgres 9.4
Countdown to PostgreSQL v9.5 - Foriegn Tables can be part of Inheritance Tree
Is There Anything PgBouncer Can’t Do?
 
PostreSQL HA and DR Setup & Use Cases
Architecture for building scalable and highly available Postgres Cluster
PostgreSQL 9.6 Performance-Scalability Improvements
Remote DBA Experts SQL Server 2008 New Features
PostgreSQL Replication in 10 Minutes - SCALE
Building tungsten-clusters-with-postgre sql-hot-standby-and-streaming-replica...
Geographically Distributed PostgreSQL
Enterprise PostgreSQL - EDB's answer to conventional Databases
Postgres on OpenStack
 
Why we love pgpool-II and why we hate it!
MySQL Performance Tuning at COSCUP 2014
PostgreSQL Scaling And Failover
Ad

Viewers also liked (18)

PDF
Best Practices for Becoming an Exceptional Postgres DBA
 
PDF
Postgres in Production - Best Practices 2014
 
PDF
Mastering PostgreSQL Administration
 
PDF
Deep dive into PostgreSQL statistics.
ODP
PostgreSQL Administration for System Administrators
PDF
PostgreSQL Performance Tables Partitioning vs. Aggregated Data Tables
PDF
Postgresql database administration volume 1
PDF
PostgreSQL performance improvements in 9.5 and 9.6
PDF
How does PostgreSQL work with disks: a DBA's checklist in detail. PGConf.US 2015
PDF
Streaming replication in practice
PDF
PgDay Asia 2016 - Security Best Practices for your Postgres Deployment
PDF
FOSSASIA 2016 - 7 Tips to design web centric high-performance applications
PPTX
Tuning Slow Running SQLs in PostgreSQL
PDF
FOSSASIA 2015 - 10 Features your developers are missing when stuck with Propr...
PPTX
Transform your DBMS to drive engagement innovation with Big Data
PPTX
NGINX Plus PLATFORM For Flawless Application Delivery
PPTX
Streaming replication in PostgreSQL
PDF
Building Hybrid data cluster using PostgreSQL and MongoDB
Best Practices for Becoming an Exceptional Postgres DBA
 
Postgres in Production - Best Practices 2014
 
Mastering PostgreSQL Administration
 
Deep dive into PostgreSQL statistics.
PostgreSQL Administration for System Administrators
PostgreSQL Performance Tables Partitioning vs. Aggregated Data Tables
Postgresql database administration volume 1
PostgreSQL performance improvements in 9.5 and 9.6
How does PostgreSQL work with disks: a DBA's checklist in detail. PGConf.US 2015
Streaming replication in practice
PgDay Asia 2016 - Security Best Practices for your Postgres Deployment
FOSSASIA 2016 - 7 Tips to design web centric high-performance applications
Tuning Slow Running SQLs in PostgreSQL
FOSSASIA 2015 - 10 Features your developers are missing when stuck with Propr...
Transform your DBMS to drive engagement innovation with Big Data
NGINX Plus PLATFORM For Flawless Application Delivery
Streaming replication in PostgreSQL
Building Hybrid data cluster using PostgreSQL and MongoDB
Ad

Similar to The Magic of Tuning in PostgreSQL (20)

PDF
Connection Pooling in PostgreSQL using pgbouncer
PPTX
PostGreSQL Performance Tuning
PDF
Problems with PostgreSQL on Multi-core Systems with MultiTerabyte Data
DOC
Quick guide to PostgreSQL Performance Tuning
PDF
Islamabad PUG - 7th meetup - performance tuning
PDF
Islamabad PUG - 7th Meetup - performance tuning
PPTX
How to be a Postgres DBA in a Pinch
PPTX
Monitoring and scaling postgres at datadog
PDF
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PDF
PostgreSQL High_Performance_Cheatsheet
PPTX
Tales from the Postgres Front - and What We Can Learn
 
PDF
Tuning Autovacuum in Postgresql
PPTX
How to use postgresql.conf to configure and tune the PostgreSQL server
 
PDF
EnterpriseDB's Best Practices for Postgres DBAs
 
PDF
PGConf APAC 2018 - Tale from Trenches
PPTX
Migrations, Health Checks, and Support Experiences - Postgres from the Servic...
 
PDF
Five steps perform_2009 (1)
PPTX
Postgres in production.2014
 
PDF
Postgresql Performance
PPTX
Postgre sql best_practices
Connection Pooling in PostgreSQL using pgbouncer
PostGreSQL Performance Tuning
Problems with PostgreSQL on Multi-core Systems with MultiTerabyte Data
Quick guide to PostgreSQL Performance Tuning
Islamabad PUG - 7th meetup - performance tuning
Islamabad PUG - 7th Meetup - performance tuning
How to be a Postgres DBA in a Pinch
Monitoring and scaling postgres at datadog
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL High_Performance_Cheatsheet
Tales from the Postgres Front - and What We Can Learn
 
Tuning Autovacuum in Postgresql
How to use postgresql.conf to configure and tune the PostgreSQL server
 
EnterpriseDB's Best Practices for Postgres DBAs
 
PGConf APAC 2018 - Tale from Trenches
Migrations, Health Checks, and Support Experiences - Postgres from the Servic...
 
Five steps perform_2009 (1)
Postgres in production.2014
 
Postgresql Performance
Postgre sql best_practices

More from Ashnikbiz (20)

PPTX
CloudOps_tool.pptx
PPTX
Webinar_CloudOps final.pptx
PPTX
Autoscaling in Kubernetes (K8s)
PPTX
Why and how to use Kubernetes for scaling of your multi-tier (n-tier) appli...
PDF
Zero trust in a multi tenant environment
PPTX
Deploy and automate ‘Secrets Management’ for a multi-cloud environment
PPTX
Deploy, move and manage Postgres across cloud platforms
PPTX
Deploy, move and manage Postgres across cloud platforms
PPTX
The Best Approach For Multi-cloud Infrastructure Provisioning-2
PPTX
The Best Approach For Multi-cloud Infrastructure Provisioning
PPTX
Which PostgreSQL is right for your multi cloud strategy? P2
PPTX
Which PostgreSQL is right for your multi cloud strategy? P1
PPTX
Reduce the complexities of managing Kubernetes clusters anywhere 2
PPTX
Reduce the complexities of managing Kubernetes clusters anywhere
PPTX
Enhance your multi-cloud application performance using Redis Enterprise P2
PPTX
Enhance your multi-cloud application performance using Redis Enterprise P1
PPTX
Gain multi-cloud versatility with software load balancing designed for cloud-...
PPTX
Gain multi-cloud versatility with software load balancing designed for cloud-...
PPTX
Enterprise-class security with PostgreSQL - 1
PPTX
Enterprise-class security with PostgreSQL - 2
CloudOps_tool.pptx
Webinar_CloudOps final.pptx
Autoscaling in Kubernetes (K8s)
Why and how to use Kubernetes for scaling of your multi-tier (n-tier) appli...
Zero trust in a multi tenant environment
Deploy and automate ‘Secrets Management’ for a multi-cloud environment
Deploy, move and manage Postgres across cloud platforms
Deploy, move and manage Postgres across cloud platforms
The Best Approach For Multi-cloud Infrastructure Provisioning-2
The Best Approach For Multi-cloud Infrastructure Provisioning
Which PostgreSQL is right for your multi cloud strategy? P2
Which PostgreSQL is right for your multi cloud strategy? P1
Reduce the complexities of managing Kubernetes clusters anywhere 2
Reduce the complexities of managing Kubernetes clusters anywhere
Enhance your multi-cloud application performance using Redis Enterprise P2
Enhance your multi-cloud application performance using Redis Enterprise P1
Gain multi-cloud versatility with software load balancing designed for cloud-...
Gain multi-cloud versatility with software load balancing designed for cloud-...
Enterprise-class security with PostgreSQL - 1
Enterprise-class security with PostgreSQL - 2

Recently uploaded (20)

PPTX
Spectroscopy.pptx food analysis technology
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Electronic commerce courselecture one. Pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Encapsulation theory and applications.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
A Presentation on Artificial Intelligence
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Spectroscopy.pptx food analysis technology
Dropbox Q2 2025 Financial Results & Investor Presentation
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Spectral efficient network and resource selection model in 5G networks
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Machine learning based COVID-19 study performance prediction
A comparative analysis of optical character recognition models for extracting...
Unlocking AI with Model Context Protocol (MCP)
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
sap open course for s4hana steps from ECC to s4
Programs and apps: productivity, graphics, security and other tools
Network Security Unit 5.pdf for BCA BBA.
Electronic commerce courselecture one. Pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Encapsulation theory and applications.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
A Presentation on Artificial Intelligence
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...

The Magic of Tuning in PostgreSQL

  • 1. Scaling with PostgreSQL Magic of Tuning and Connection Pooling
  • 2. Pitfalls where IT Mangers get Trapped • Failure to have a correct plan for scaling with business • Falling prey to proprietary database vendors and their costly hardware • Failing to identify the correct Core-Memory Ratio • Adding Resources will not help all the time
  • 3. Benchmark Studies: Objective • See how PostgreSQL scales with hardware • See how PostgreSQL scales with tuning • See the effect of proper Connection and Transaction Management on PostgreSQL performance • Highlight the importance of Tuning despite increasing system hardware
  • 4. Benchmark Studies: Test bed Setup We have used HammerDB for this benchmark • An open source benchmarking tool which provides test cases for TPC-C and TPC-H benchmarks • We used TPC-C for our tests All the tests were run on a Virtual Machine (using VM player) on a Laptop • 64-bit Intel 8 core CPU • 16 GB of physical memory • Host OS- Windows 7 64 bit Testing Environment • Postgres Plus Advanced Server v9.2 • Running on Red Hat Enterprise Linux v6.1 (with kernel version 2.6)
  • 5. Disclaimer • Performance without tuning and with tuning is shared here to make a point • The tests were done on a virtual environment running on a low end host machine • Scalability or raw performance numbers presented here are not true indicators of capabilities of PostgreSQL/Postgres Plus Advanced Server • With the real server class machines these numbers would be much higher than on the test machine
  • 6. Low Configuration PostgreSQL server scaling with Connection Pooling Database Parameters: • No of Processors: 1 • Memory: 3GB, • shared_buffer: 32MB, • effective_cache_size: 128MB • work_mem=1MB Key Learning: Test 1 - The performance degrades once the load increases beyond a point [sounds familiar?] Test 2 - Session Level Connection pooling with max 50 connections in Pool - Connections aquired as needed so not much difference than first test Test 3 - Transaction Level Connection Pooling with 25 connections - Does well as concurrency increases [scaling with growth!!!] Inconsistent/low and highs can be attributed to resources contention during autovacuum
  • 7. Some Important Parameters for Tuning in PostgreSQL • shared_buffer • effective_cache_size • work_mem • wal_buffer • bgwriter_delay • effective_io_concurrency • checkpoint_segment • checkpoint_timeout • random_page_cost • autovacuum_naptime • autovacuum_vacuum_threshold • autovacuum_analyze_threshold • autovacuum_vacuum_scale_factor • autovacuum_analyze_scale_factor • autovacuum_vacuum_cost_delay
  • 8. PostgreSQL Performs better after Tuning Database Parameters: • No of Processors: 1 • Memory: 3GB, • shared_buffer: 32MB/256MB, • effective_cache_size: 128MB/750MB • work_mem=1MB Key Learning: Test 1: Basic Setup - The performance degrades once the load increases beyond a point [sounds familiar?] Test 2: Tuned postgresql.conf for shared_buffer and effective_cache_size - Up to 19% gain over basic configuration Test 3: Tuned other parameters in postgresql.conf - Up to 21% gain - The occasional performance troughs because of vacuum operation is not there anymore Still the performance is not scalable in any of the 3 cases and degrades with concurrency [25- 30% loss]
  • 9. Combining the Effect of Connection Pooling and Tuning Database Parameters: • No of Processors: 1 • Memory: 3GB, • shared_buffer: 256MB, • effective_cache_size: 750MB • work_mem=1MB Key Learning: Test 1: Basic Setup with tuned shared_buffer and effective_cache_size - The performance degrades once the load increases beyond a point [sounds familiar?] Test 2: Tuned other parameters in postgresql.conf - Performance gain of up to 14% - The performance continues to degrade [by a margin of 26%] at higher concurrency Test 3: Transaction Level Connection Pooling - Performance is more consistent - Degradation/loss in performance at peak concurrency is quite less [14% only] Finally we get a consistently scaling Database Setup
  • 10. Tuning and proper Transaction Management enhances the benefit of CPU addition Database Parameters: • No of Processors: 2 • Memory: 3GB, • shared_buffer: 256MB, • effective_cache_size: 750MB • work_mem=1MB Key Learning: Test 1: Basic Setup with tuned shared_buffer and effective_cache_size - The performance degrades once the load increases beyond a point Test 2: Tuned other parameters in postgresql.conf - Performance gain of 36% at Peak load - The performance continues to degrade [by a margin of 26%] at higher concurrency Test 3: Transaction Level Connection Pooling - Performance is more consistent - Improvement caused by tuning is more prominent with boosted computing [1CPU- 46% | 2CPU- 80%] Even after boosting computing power, to get best of resources, tuning and connection pooling plays a major role
  • 11. Tuning and proper Transaction Management enhances the benefit of Memory Upgrade Database Parameters: • No of Processors: 2 • Memory: 4.5GB, • shared_buffer: 750MB, • effective_cache_size: 2GB • work_mem=1MB Key Learning: Test 1: Basic Setup with tuned shared_buffer[750MB] and effective_cache_size[2GB] - The performance degrades once the load increases beyond a point Test 2: Tuned other parameters in postgresql.conf - Performance gain of 55% at Peak load - The performance continues to degrade [by a margin of 15%] at higher concurrency Test 3: Transaction Level Connection Pooling - Performance is more consistent - Gain with additional memory is more prominent after tuning and connection pooling To make best use of added memory tuning and connection pooling are important
  • 12. Low Memory Tuned Postgres Vs Un-Tuned Postgres with Higher Memory Database Parameters: • No of Processors: 2 • Memory: 3GB/4.5GB, • shared_buffer: 256MB/750MB, • effective_cache_size: 750MB/2GB • work_mem=1MB Key Learning: Test 1: Un-tuned PostgreSQL [only shared_buffer and effective_cache_size is tuned] with 4.5 GB RAM - The performance continues to degrade [by a margin of 38%] at higher concurrency Test 3: Tune PostgreSQL with Transaction Level Connection Pooling - Performance is more consistent - Despite low memory, performance is comparable at low concurrency - A Tuned database with proper transaction management does better as load increases Most of your performance issues can be resolved with proper application and database tuning
  • 13. Ashnik Message • You don’t always need a high end system in the beginning to scale in future • There are commercially supported Open Source Solutions available which scale as good as their proprietary counterparts • There is no generic core-memory formula- Our consultants help customers identify what is best for them • A well designed application with a well tuned database can work better than a un-optimized database on a high end server
  • 14. How Ashnik Helps? Server sizing Health Check contracts on half yearly and annual terms On-demand Health Check and Tuning services Provide in migration services- $$ Saving by migrating from costly proprietary database solutions