LAMP Stack Influence On SugarCRM Performance
In our last post we announced project SucarloCRM (sucarlose is x600 sweeter than sugar) - a SugarCRM configuration dedicated to extreme performance, making your open source CRM SugarCRM users as happy as Google users. The outcome of the project is a comprehensive SugarCRM configuration guide.
Before we go into actual configuration tweaking, we begin with an overview of the different components in the suagrCRM technology stack that influence performance. We will have to perform component specific configuration in order to get the bet possible performance.
LAMP Stack
Like any other business application, SugarCR relies on services from 3 different software components: an application server (Apache & PHP), a database engine (Mysql or MSSQL) and an operating system (Linux,Unix or Windows). When it comes to performance tuning for SugarCRM, we will have to optimize each of these components separately. There are endless configuration options for each of them, but Pareto’s principal is definitely applicable here - 20% of the available configuration options will provide 80% of the performance boost we are looking for.
Project SucraloCRM will focus on the LAMP stack: the operating system we will use is Linux (Ubuntu), the database server is MySQL and the application server includes Apache and PHP.
Mysql
As far as overall application performance is concerned, the most important component for any CRM application is the database engine. CRM applications often manage very large amounts of data - hundreds of thousands and even millions of contact details, accounts or calls. All these records are stored in database tables.
Database optimization is an area of vast knowledge and experience. Mysql specific performance optimization techniques have been studies for years. We will be putting a lot of time and energy into bringing Mysql to optimal performance for SugarCRM.
PHP
PHP is the most popular language used to build dynamic web applications. It is a very simple yet powerful language, allowing developers to add new functionally with relative ease. However, PHP is also an interpreted language. That means that the compiled PHP code cannot be executed directly by the underlying operating system, but rather an intermediate piece of software needs to translate the PHP compiled code to a code to be executed by the operating system. Interpreted languages (such as PHP and JAVA) performance is poorer than native languages, such as C or C++.
Fortunately, due to PHP’s huge popularity, there are many tools and guides relating to improving PHP performance.
Apache Web Server
The Apache web server hosts 60% of websites on the Internet, serving millions of pages every second.It is considered to be one of best software applications ever written, performance wise.
Apache acts as an intermediate between the operating system and the PHP interpreter. Optimal Apache performance is a crucial ingrediente to the success of project SucraloCRM.
Operating system
The software component which is the furthest away from the SugarCRM application is the operating system. The operating system is an area with the largest number of configuration permutations, but with the lowest impact on the overall SugarCRM performance.
To stay up to date with the progress of project SucralosCRM, and other SugarCRM news and updates, register to our RSS Feed.
Comments
Leave a Reply


