SlideShare uma empresa Scribd logo
1 de 14
SugarCRM Scalability and
Performance Benchmarks
 TECHNICAL   W HITE   PA P ER
SugarCRM Scalability and Performance Benchmarks




                                       Executive Summary
                                       This white paper outlines some of the performance benchmarks
                                       and scalability testing SugarCRM has undergone with its product
                                       set. This report shall cover the following test scenarios:

                                       1.	 Scalability of a Single Server With NFS
                                       2.	 Horizontal Scalability Through Multiple Web Servers
                                       3.	 Performance Benchmarks for 600 Concurrent Users With NFS

                                       Introduction
                                       The performance and scalability test results below exhibit how the
                                       SugarCRM application performs with many users attempting to
                                       access data at the same time. This white paper details the results of
                                       tests executed against Sugar Enterprise Edition version 6.0.2 run-
                                       ning against MySQL version 5.0.91. The cluster was configured with
                                       four web servers and two databases servers. Each server configura-
                                       tion used in this series of tests was a dual processor, quad core
                                       Intel-based server with 8 gigs of RAM. For more information regard-
                                       ing the data volume and server response time by action for these
                                       tests, please see the appendices at the end of this document.



                                                                                                                 1
Copyright © 2010 SugarCRM, Inc. All rights reserved.
SugarCRM Scalability and Performance Benchmarks


                                                   Section 1:
                                                   Scalability of a Single Server With NFS
                                                   This benchmark describes the scalability of the SugarCRM appli-
                                                   cation running on a single web server with a separate clustered
                                                   database server. The files for this instance are stored on a net-
                                                   worked file system (nfs). This test was performed in several phases
                                                   where the same load test script was executed with an increasing
                                                   number of users.




                                      18000
                                      16000
       Response Time (milliseconds)




                                      14000
                                      12000
                                      10000
                                       8000
                                       6000
                                       4000
                                       2000
                                          0
                                              50           100                    150                   200                    300

                                                                       Number of Users


                                                   This chart shows that the SugarCRM application maintains a sub 600-millisecond response time
                                                   between 50 concurrent users and 150 concurrent. At 150 concurrent users the average response
                                                   time comes in at 531 ms per request. The SugarCRM application response time degrades below
                                                   a maximum acceptable threshold of 2000 ms per request at approximately 300 concurrent users
                                                   with a response time of 17090 ms. Based on this test it is recommended to run each server with
                                                   150 concurrent users.




2
                                                                                  Copyright © 2010 SugarCRM, Inc. All rights reserved.
SugarCRM Scalability and Performance Benchmarks


                                               Section 2:
                                               Horizontal Scalability Through Multiple Web Servers
                                               The previous test demonstrated that a single web server could
                                               scale comfortably to 150 users. By adding additional web servers,
                                               this test demonstrates the ability of SugarCRM to scale horizon-
                                               tally. This configuration includes four web servers running the same
                                               instance of SugarCRM. A networked file system (NFS) is utilized to
                                               keep the SugarCRM instance’s files in sync across the four web
                                               servers. Requests are distributed across the servers using a round
                                               robin method through an nginx load balancer. Sessions are stored
                                               in a memcache pool to allow for user’s to maintain their sessions
                                               across web servers.




                                  5000
                                  4500
   Response Time (milliseconds)




                                  4000
                                  3500
                                  3000
                                  2500
                                  2000
                                                                                                                               NFS
                                  1500
                                  1000
                                   500
                                     0
                                         200   400               600                800              1000
                                                       Number of Users


                                               This chart shows that the SugarCRM application maintains an acceptable response time between
                                               200 concurrent users at a 489 milliseconds (ms) average response time per request and 600
                                               concurrent users at a 577 ms average response time per request. At 800 concurrent users the
                                               response time increases to 1050 ms. The instance degrades below an acceptable response time
                                               at 1000 users where it comes in at 4566 ms. This test shows that by adding additional web
                                               servers one can continue to scale out their SugarCRM instance. Based on this observations the
                                               recommend number of servers in a cluster is the ceiling of the maximum number of concurrent
                                               users dived by 150.




                                                                                                                                               3
Copyright © 2010 SugarCRM, Inc. All rights reserved.
SugarCRM Scalability and Performance Benchmarks

                                           Section 3
                                           Performance Benchmarks for 600 Concurrent Users
                                           With NFS
                                           This test demonstrates that a clustered web server configuration of
                                           the SugarCRM application can maintain a consistent response time
                                           under two seconds with a load of 600 concurrent users performing
                                           a realistic mix of business functions in the application.

                                           For this test, the average server response time for all pages was 577
                                           ms. The percentage of response times below one second was 90%.



                         25000


                         20000
         # of Requests




                         15000


                         10000


                          5000


                             0
                                 0   0.5            1               1.5               2               2.5               3
                                                                 Time(seconds)


                                           This chart shows the number of requests that fall into each response time window. For example,
                                           more than 19,000 requests saw a response time of between 0.4 and 0.5 seconds in this
                                           clustered web server run with 600 concurrent users.




4
                                                                          Copyright © 2010 SugarCRM, Inc. All rights reserved.
SugarCRM Scalability and Performance Benchmarks


                                       Conclusions
                                       Based on these tests, SugarCRM recommends a maximum of 150
                                       concurrent users per web server in order to achieve sub-second
                                       responses at least 80 percent of the time. For a typical CRM
                                       deployment, this typically equates to 600 named sales force users
                                       (20% of named users using the application concurrently) or 300
                                       contact center users (50% of named users using the application
                                       concurrently) per web server. As shown in this white paper, the
                                       Sugar application scales linearly to accommodate more users by
                                       simply adding more web servers to the cluster configuration.




                                                                                                                5
Copyright © 2010 SugarCRM, Inc. All rights reserved.
SugarCRM Scalability and Performance Benchmarks


                                        Appendix A – Data Volume
                                        For these runs, all test used a database with over 2,292,200 rows
                                        of data. The details of the seed data are below. The total includes
                                        the main objects and the relationship rows that link the data
                                        together.

                                         Business Objects                           Records
                                         Teams                                      400
                                         Email Addresses                            120000
                                         Users                                      2000
                                         Accounts                                   10000
                                         Product Bundles                            20000
                                         Products                                   40000
                                         Calls                                      240000
                                         Emails                                     160000
                                         Contacts                                   40000
                                         Leads                                      40000
                                         Opportunities                              20000
                                         Cases                                      40000
                                         Bugs                                       30000
                                         Meetings                                   80000
                                         Tasks                                      40000
                                         Notes                                      40000
                                         Documents                                  10000
                                         Core Records                               932400
                                         Total Records                              2292200
                                        Database Size: 1.98 GB
                                        Database Size with Indexes: 2.86 GB




6
                                                                       Copyright © 2010 SugarCRM, Inc. All rights reserved.
SugarCRM Scalability and Performance Benchmarks


                                       Appendix B – Single Server NFS Response Times
                                        Number Of Users   Avg. Response Time     Number of Requests
                                        50                586.17                 5423
                                        100               510.56                 10874
                                        150               531.49                 16316
                                        200               997.619                21367
                                        300               17090.79               21015




                                                                                                            7
Copyright © 2010 SugarCRM, Inc. All rights reserved.
SugarCRM Scalability and Performance Benchmarks


                                        Appendix C – Results for a 600 user four server cluster
                                        with NFS
                                        This test took one hour with each action being executed at least
                                        once by each user. More common actions, such as the various List
                                        and Detail Views, were executed with a higher frequency to simu-
                                        late a more realistic use case. The resulting test executions put
                                        minimal loads on the database and web servers.

                                        Below is a breakdown of the server response time by action. The
                                        action on the left is a typical task performed by a user or the sys-
                                        tem. The average response time is how long that request took in
                                        terms of a server round trip in milliseconds. The number of requests
                                        is the number of times that particular action was performed during
                                        the load test.

                                         Action                     Avg. Response Time        Number Of Requests
                                         Login Screen               81.9                      600
                                         Login                      2284.57                   600
                                         Notes List View            574.74                    4192
                                         Opportunities List View    580.21                    4151
                                         Contacts List View         808.38                    4163
                                         Note Detail View           427.3                     4144
                                         Task List View             537.46                    4207
                                         Leads List View            758.73                    4161
                                         Case List View             553.9                     4179
                                         Opportunity Detail View    670.23                    4099
                                         Accounts List View         705.09                    4191
                                         Lead Detail View           636.94                    4112
                                         Task Detail View           447.89                    4159
                                         Account Detail View        992.71                    4142
                                         Case Detail View           558.39                    4135
                                         Quick Create Opportunity   871.48                    2065
                                         Quick Create Contact       1058.51                   600
                                         Quick Create Account       924.77                    600
                                         Quick Create Task          590.38                    600
                                         Quick Create Case          800.39                    600
                                         Delete Contact             1478.62                   600
                                         Quick Create Note          639.55                    600
                                         Delete Task                1098.55                   600
                                         Delete Account             1430.3                    600
                                         Delete Case                1088.37                   600
                                         Delete Opportunity         1115.66                   600
                                         Quick Create Lead          858.12                    600
                                         Delete Note                931.29                    600
                                         Delete Lead                1076.76                   600


8
                                                                    Copyright © 2010 SugarCRM, Inc. All rights reserved.
SugarCRM Scalability and Performance Benchmarks


Response Time Spread
This table shows response times broken down in time intervals of 100 milliseconds. Each time inter-
val has the number of requests, the percentage of all requests, and the cumulative sum of all
responses that came within the upper bound of the interval.

As an example, the test goal was 80% of all responses in less than 1 second. The cumulative sum
of the 0.9-1.0 second bucket is 90.54%. This means that 90% of all requests returned in less than 1
second. 99% of all requests returned in less than 3.3 seconds.

 Time in Seconds # of Requests % Responses Sum % of Responses
 0 - 0.1            1960             2.29              2.29
 0.1 - 0.2          97               0.11              2.4
 0.2 - 0.3          2231             2.6               5
 0.3 - 0.4          21711            25.34             30.34
 0.4 - 0.5          21144            24.68             55.02
 0.5 - 0.6          12682            14.8              69.82
 0.6 - 0.7          8788             10.26             80.08
 0.7 - 0.8          3117             3.64              83.72
 0.8 - 0.9          2953             3.45              87.17
 0.9 - 1            2207             2.58              89.75
 1 - 1.1            2043             2.38              92.13
 1.1 - 1.2          1133             1.32              93.45
 1.2 - 1.3          811              0.95              94.4
 1.3 - 1.4          534              0.62              95.02
 1.4 - 1.5          431              0.5               95.52
 1.5 - 1.6          301              0.35              95.87
 1.6 - 1.7          260              0.3               96.17
 1.7 - 1.8          225              0.26              96.43
 1.8 - 1.9          241              0.28              96.71
 1.9 - 2            186              0.22              96.93
 2 - 2.1            177              0.21              97.14
 2.1 - 2.2          147              0.17              97.31
 2.2 - 2.3          160              0.19              97.5
 2.3 - 2.4          123              0.14              97.64
 2.4 - 2.5          119              0.14              97.78
 2.5 - 2.6          104              0.12              97.9
 2.6 - 2.7          92               0.11              98.01              Total round trips: 65100
 2.7 - 2.8          99               0.12              98.13              Average response time for all pages: 577 ms
                                                                          Responses under 1 second: 90%
 2.8 - 2.9          132              0.15              98.28
 2.9 - 3            126              0.15              98.43              Average response times are calculated
 3 - 3.1            149              0.17              98.6               excluding the top and bottom 3% of requests

 3.1 - 3.2          103              0.12              98.72
 3.2 - 3.3          97               0.11              98.83
 3.3 - 3.4          94               0.11              98.94
 3.4 - 3.5          69               0.08              99.02

                                                                                                                        9
Copyright © 2010 SugarCRM, Inc. All rights reserved.
SugarCRM Scalability and Performance Benchmarks


                                         Appendix D – Load Test Cluster Diagram




                                                   Load Balancer
                                                      (nginx)




            Web Server 1            Web Server 2           Web Server 3            Web Server 4
          (apache, php, apc)      (apache, php, apc)     (apache, php, apc)      (apache, php, apc)




                                                                      Database          Database
                                                                       (mysql)           (mysql)

            Session Manager                 NFS                    Master Master DB Replication
              (memcache)                  (netapp)                  (single virtual ip address)




10
                                                              Copyright © 2010 SugarCRM, Inc. All rights reserved.
SugarCRM Scalability and Performance Benchmarks


                                       MySQL Configuration Optimization

                                       [mysqld]
                                       max_allowed_packet=16M
                                       max_connections = 2500
                                       max_user_connections = 2500
                                       wait_timeout = 120
                                       log_slow_queries
                                       long_query_time = 1
                                       log_queries_not_using_indexes
                                       innodb_log_file_size=128M
                                       # comment these in when benchmarking & prove results
                                       innodb_flush_method=O_DIRECT
                                       query_cache_size=256M
                                       query_cache_limit=2M
                                       tmp_table_size=64M
                                       innodb_additional_mem_pool_size=8M
                                       thread_concurrency=24
                                       record_buffer=2M
                                       #query_cache_size=128M
                                       query_cache_type=1
                                       key_buffer_size=64M
                                       table_cache=2048
                                       default-storage-engine=InnoDB
                                       innodb_buffer_pool_size=3072M
                                       myisam_recover=BACKUP,FORCE



                                       [safe_mysqld]
                                       myisam_recover=BACKUP,FORCE
                                       err-log=/var/log/mysql/mysqld.log
                                       pid-file=/var/lib/mysql/mysqld.pid




                                                                                                                        11
Copyright © 2010 SugarCRM, Inc. All rights reserved.
SugarCRM Scalability and Performance Benchmarks


                                         Apache Configuration Optimization

                                         # prefork MPM
                                         # StartServers: number of server processes to start
                                         # MinSpareServers: minimum number of server processes which are kept spare
                                         # MaxSpareServers: maximum number of server processes which are kept spare
                                         # ServerLimit: maximum value for MaxClients for the lifetime of the server
                                         # MaxClients: maximum number of server processes allowed to start
                                         # MaxRequestsPerChild: maximum number of requests a server process serves
                                         Timeout 30
                                         KeepAlive On
                                         MaxKeepAliveRequests 100
                                         KeepAliveTimeout 2
                                         MinSpareServers 16
                                         MaxSpareServers 24
                                         StartServers 20
                                         MaxClients 256
                                         MaxRequestsPerChild 5000
                                         LimitRequestFields 50




12
                                                                      Copyright © 2010 SugarCRM, Inc. All rights reserved.
SugarCRM, Inc.
1 0050 N or th Wolfe Road
SW2- 130
C uper tino, CA 95014
T: 408.454.6 900
F: 408.873.2872

www.sugarcrm.com
                                                                                                                                       04-10-020a
Copyright © 2010 SugarCRM, Inc. All rights reserved. SugarCRM and the SugarCRM logo are registered trademarks of SugarCRM, Inc.
in the United States, the European Union and other countries. All other trademarks are the properties of their respective companies.

Mais conteúdo relacionado

Último

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Último (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

Destaque

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Destaque (20)

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 

SugarCRM Scalability and Performance Benchmarks

  • 1. SugarCRM Scalability and Performance Benchmarks TECHNICAL W HITE PA P ER
  • 2. SugarCRM Scalability and Performance Benchmarks Executive Summary This white paper outlines some of the performance benchmarks and scalability testing SugarCRM has undergone with its product set. This report shall cover the following test scenarios: 1. Scalability of a Single Server With NFS 2. Horizontal Scalability Through Multiple Web Servers 3. Performance Benchmarks for 600 Concurrent Users With NFS Introduction The performance and scalability test results below exhibit how the SugarCRM application performs with many users attempting to access data at the same time. This white paper details the results of tests executed against Sugar Enterprise Edition version 6.0.2 run- ning against MySQL version 5.0.91. The cluster was configured with four web servers and two databases servers. Each server configura- tion used in this series of tests was a dual processor, quad core Intel-based server with 8 gigs of RAM. For more information regard- ing the data volume and server response time by action for these tests, please see the appendices at the end of this document. 1 Copyright © 2010 SugarCRM, Inc. All rights reserved.
  • 3. SugarCRM Scalability and Performance Benchmarks Section 1: Scalability of a Single Server With NFS This benchmark describes the scalability of the SugarCRM appli- cation running on a single web server with a separate clustered database server. The files for this instance are stored on a net- worked file system (nfs). This test was performed in several phases where the same load test script was executed with an increasing number of users. 18000 16000 Response Time (milliseconds) 14000 12000 10000 8000 6000 4000 2000 0 50 100 150 200 300 Number of Users This chart shows that the SugarCRM application maintains a sub 600-millisecond response time between 50 concurrent users and 150 concurrent. At 150 concurrent users the average response time comes in at 531 ms per request. The SugarCRM application response time degrades below a maximum acceptable threshold of 2000 ms per request at approximately 300 concurrent users with a response time of 17090 ms. Based on this test it is recommended to run each server with 150 concurrent users. 2 Copyright © 2010 SugarCRM, Inc. All rights reserved.
  • 4. SugarCRM Scalability and Performance Benchmarks Section 2: Horizontal Scalability Through Multiple Web Servers The previous test demonstrated that a single web server could scale comfortably to 150 users. By adding additional web servers, this test demonstrates the ability of SugarCRM to scale horizon- tally. This configuration includes four web servers running the same instance of SugarCRM. A networked file system (NFS) is utilized to keep the SugarCRM instance’s files in sync across the four web servers. Requests are distributed across the servers using a round robin method through an nginx load balancer. Sessions are stored in a memcache pool to allow for user’s to maintain their sessions across web servers. 5000 4500 Response Time (milliseconds) 4000 3500 3000 2500 2000 NFS 1500 1000 500 0 200 400 600 800 1000 Number of Users This chart shows that the SugarCRM application maintains an acceptable response time between 200 concurrent users at a 489 milliseconds (ms) average response time per request and 600 concurrent users at a 577 ms average response time per request. At 800 concurrent users the response time increases to 1050 ms. The instance degrades below an acceptable response time at 1000 users where it comes in at 4566 ms. This test shows that by adding additional web servers one can continue to scale out their SugarCRM instance. Based on this observations the recommend number of servers in a cluster is the ceiling of the maximum number of concurrent users dived by 150. 3 Copyright © 2010 SugarCRM, Inc. All rights reserved.
  • 5. SugarCRM Scalability and Performance Benchmarks Section 3 Performance Benchmarks for 600 Concurrent Users With NFS This test demonstrates that a clustered web server configuration of the SugarCRM application can maintain a consistent response time under two seconds with a load of 600 concurrent users performing a realistic mix of business functions in the application. For this test, the average server response time for all pages was 577 ms. The percentage of response times below one second was 90%. 25000 20000 # of Requests 15000 10000 5000 0 0 0.5 1 1.5 2 2.5 3 Time(seconds) This chart shows the number of requests that fall into each response time window. For example, more than 19,000 requests saw a response time of between 0.4 and 0.5 seconds in this clustered web server run with 600 concurrent users. 4 Copyright © 2010 SugarCRM, Inc. All rights reserved.
  • 6. SugarCRM Scalability and Performance Benchmarks Conclusions Based on these tests, SugarCRM recommends a maximum of 150 concurrent users per web server in order to achieve sub-second responses at least 80 percent of the time. For a typical CRM deployment, this typically equates to 600 named sales force users (20% of named users using the application concurrently) or 300 contact center users (50% of named users using the application concurrently) per web server. As shown in this white paper, the Sugar application scales linearly to accommodate more users by simply adding more web servers to the cluster configuration. 5 Copyright © 2010 SugarCRM, Inc. All rights reserved.
  • 7. SugarCRM Scalability and Performance Benchmarks Appendix A – Data Volume For these runs, all test used a database with over 2,292,200 rows of data. The details of the seed data are below. The total includes the main objects and the relationship rows that link the data together. Business Objects Records Teams 400 Email Addresses 120000 Users 2000 Accounts 10000 Product Bundles 20000 Products 40000 Calls 240000 Emails 160000 Contacts 40000 Leads 40000 Opportunities 20000 Cases 40000 Bugs 30000 Meetings 80000 Tasks 40000 Notes 40000 Documents 10000 Core Records 932400 Total Records 2292200 Database Size: 1.98 GB Database Size with Indexes: 2.86 GB 6 Copyright © 2010 SugarCRM, Inc. All rights reserved.
  • 8. SugarCRM Scalability and Performance Benchmarks Appendix B – Single Server NFS Response Times Number Of Users Avg. Response Time Number of Requests 50 586.17 5423 100 510.56 10874 150 531.49 16316 200 997.619 21367 300 17090.79 21015 7 Copyright © 2010 SugarCRM, Inc. All rights reserved.
  • 9. SugarCRM Scalability and Performance Benchmarks Appendix C – Results for a 600 user four server cluster with NFS This test took one hour with each action being executed at least once by each user. More common actions, such as the various List and Detail Views, were executed with a higher frequency to simu- late a more realistic use case. The resulting test executions put minimal loads on the database and web servers. Below is a breakdown of the server response time by action. The action on the left is a typical task performed by a user or the sys- tem. The average response time is how long that request took in terms of a server round trip in milliseconds. The number of requests is the number of times that particular action was performed during the load test. Action Avg. Response Time Number Of Requests Login Screen 81.9 600 Login 2284.57 600 Notes List View 574.74 4192 Opportunities List View 580.21 4151 Contacts List View 808.38 4163 Note Detail View 427.3 4144 Task List View 537.46 4207 Leads List View 758.73 4161 Case List View 553.9 4179 Opportunity Detail View 670.23 4099 Accounts List View 705.09 4191 Lead Detail View 636.94 4112 Task Detail View 447.89 4159 Account Detail View 992.71 4142 Case Detail View 558.39 4135 Quick Create Opportunity 871.48 2065 Quick Create Contact 1058.51 600 Quick Create Account 924.77 600 Quick Create Task 590.38 600 Quick Create Case 800.39 600 Delete Contact 1478.62 600 Quick Create Note 639.55 600 Delete Task 1098.55 600 Delete Account 1430.3 600 Delete Case 1088.37 600 Delete Opportunity 1115.66 600 Quick Create Lead 858.12 600 Delete Note 931.29 600 Delete Lead 1076.76 600 8 Copyright © 2010 SugarCRM, Inc. All rights reserved.
  • 10. SugarCRM Scalability and Performance Benchmarks Response Time Spread This table shows response times broken down in time intervals of 100 milliseconds. Each time inter- val has the number of requests, the percentage of all requests, and the cumulative sum of all responses that came within the upper bound of the interval. As an example, the test goal was 80% of all responses in less than 1 second. The cumulative sum of the 0.9-1.0 second bucket is 90.54%. This means that 90% of all requests returned in less than 1 second. 99% of all requests returned in less than 3.3 seconds. Time in Seconds # of Requests % Responses Sum % of Responses 0 - 0.1 1960 2.29 2.29 0.1 - 0.2 97 0.11 2.4 0.2 - 0.3 2231 2.6 5 0.3 - 0.4 21711 25.34 30.34 0.4 - 0.5 21144 24.68 55.02 0.5 - 0.6 12682 14.8 69.82 0.6 - 0.7 8788 10.26 80.08 0.7 - 0.8 3117 3.64 83.72 0.8 - 0.9 2953 3.45 87.17 0.9 - 1 2207 2.58 89.75 1 - 1.1 2043 2.38 92.13 1.1 - 1.2 1133 1.32 93.45 1.2 - 1.3 811 0.95 94.4 1.3 - 1.4 534 0.62 95.02 1.4 - 1.5 431 0.5 95.52 1.5 - 1.6 301 0.35 95.87 1.6 - 1.7 260 0.3 96.17 1.7 - 1.8 225 0.26 96.43 1.8 - 1.9 241 0.28 96.71 1.9 - 2 186 0.22 96.93 2 - 2.1 177 0.21 97.14 2.1 - 2.2 147 0.17 97.31 2.2 - 2.3 160 0.19 97.5 2.3 - 2.4 123 0.14 97.64 2.4 - 2.5 119 0.14 97.78 2.5 - 2.6 104 0.12 97.9 2.6 - 2.7 92 0.11 98.01 Total round trips: 65100 2.7 - 2.8 99 0.12 98.13 Average response time for all pages: 577 ms Responses under 1 second: 90% 2.8 - 2.9 132 0.15 98.28 2.9 - 3 126 0.15 98.43 Average response times are calculated 3 - 3.1 149 0.17 98.6 excluding the top and bottom 3% of requests 3.1 - 3.2 103 0.12 98.72 3.2 - 3.3 97 0.11 98.83 3.3 - 3.4 94 0.11 98.94 3.4 - 3.5 69 0.08 99.02 9 Copyright © 2010 SugarCRM, Inc. All rights reserved.
  • 11. SugarCRM Scalability and Performance Benchmarks Appendix D – Load Test Cluster Diagram Load Balancer (nginx) Web Server 1 Web Server 2 Web Server 3 Web Server 4 (apache, php, apc) (apache, php, apc) (apache, php, apc) (apache, php, apc) Database Database (mysql) (mysql) Session Manager NFS Master Master DB Replication (memcache) (netapp) (single virtual ip address) 10 Copyright © 2010 SugarCRM, Inc. All rights reserved.
  • 12. SugarCRM Scalability and Performance Benchmarks MySQL Configuration Optimization [mysqld] max_allowed_packet=16M max_connections = 2500 max_user_connections = 2500 wait_timeout = 120 log_slow_queries long_query_time = 1 log_queries_not_using_indexes innodb_log_file_size=128M # comment these in when benchmarking & prove results innodb_flush_method=O_DIRECT query_cache_size=256M query_cache_limit=2M tmp_table_size=64M innodb_additional_mem_pool_size=8M thread_concurrency=24 record_buffer=2M #query_cache_size=128M query_cache_type=1 key_buffer_size=64M table_cache=2048 default-storage-engine=InnoDB innodb_buffer_pool_size=3072M myisam_recover=BACKUP,FORCE [safe_mysqld] myisam_recover=BACKUP,FORCE err-log=/var/log/mysql/mysqld.log pid-file=/var/lib/mysql/mysqld.pid 11 Copyright © 2010 SugarCRM, Inc. All rights reserved.
  • 13. SugarCRM Scalability and Performance Benchmarks Apache Configuration Optimization # prefork MPM # StartServers: number of server processes to start # MinSpareServers: minimum number of server processes which are kept spare # MaxSpareServers: maximum number of server processes which are kept spare # ServerLimit: maximum value for MaxClients for the lifetime of the server # MaxClients: maximum number of server processes allowed to start # MaxRequestsPerChild: maximum number of requests a server process serves Timeout 30 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 2 MinSpareServers 16 MaxSpareServers 24 StartServers 20 MaxClients 256 MaxRequestsPerChild 5000 LimitRequestFields 50 12 Copyright © 2010 SugarCRM, Inc. All rights reserved.
  • 14. SugarCRM, Inc. 1 0050 N or th Wolfe Road SW2- 130 C uper tino, CA 95014 T: 408.454.6 900 F: 408.873.2872 www.sugarcrm.com 04-10-020a Copyright © 2010 SugarCRM, Inc. All rights reserved. SugarCRM and the SugarCRM logo are registered trademarks of SugarCRM, Inc. in the United States, the European Union and other countries. All other trademarks are the properties of their respective companies.