Welcome!

Linux Containers Authors: Carmen Gonzalez, Pat Romanski, Derek Weeks, Gordon Haff, XebiaLabs Blog

Related Topics: Linux Containers, Java IoT, Open Source Cloud, Apache

Linux Containers: Blog Feed Post

Basic Apache and MySQL Performance Tuning

Part 1: Apache

Apache and MySQL make up the backbone of many Linux based web servers. According to the August 2011 Web Server Survey by Netcraft, Apache currently runs on 65.18% (or 301,771,518!) of web servers.  Similarly, MySQL is the most popular open source database and holds a significant portion of the market share – especially for web content.  This article will detail how you can get at the ‘low-hanging fruit’ in order to make some simple changes that will yield big performance gains.

Apache Tuning
If your system is running httpd, the Apache web server, it will definitely benefit you to evaluate and modify your web server configuration to ensure that your system runs smooth.  This can be an incredibly broad topic and certain an article of its own, but here are a few things you can address that can provide a big impact in your performance.

First, ensure that your MaxClients value is set appropriately for your system.  This will vary based on a great many factors – what kind of content your server is serving up, the kind of PHP or other scripts you’re running, how they’re coded, etc.  Here’s a quick bash one liner that will show you the average memory each httpd process is utilizing:

total=0; for memory in `ps aux | grep [h]ttpd | awk '{print $4}'`; do total=`echo "scale=2; $memory + $total" | bc`; done; echo -n "Average percentage of total memory: "; echo "scale=2; $total/ `ps aux | grep -c [h]ttpd`" | bc

This command will add up the total percentage of memory in use by all httpd processes and average it out among the number of processes.  It’s certainly not perfect, but it will give you a good idea of what each process is doing.  When I ran this command on one of my servers, I had an average percentage of 0.18% of total memory.

Next, you’ll want to see what your MaxClients value is set to in your Apache configuration.  Let’s say it’s set to 256:

[[email protected] ~]# grep MaxClients /etc/httpd/conf/httpd.conf
# ServerLimit: maximum value for MaxClients for the lifetime of the server
# MaxClients: maximum number of server processes allowed to start
MaxClients       256

To determine the maximum memory that Apache can use based on on the average memory utilization per process of 0.18%, take this value times the MaxClients setting.  This gives us 46.08% of memory – well within normal limits.

For optimum performance, you’ll want to tweak Apache’s MaxClients setting such that Apache can consume no more than 70% of your available physical memory.  Any higher and you risk the box starting to dip heavily into swap space, which will drastically increase IO and CPU wait and can easily cause the server to fall to its knees.

If you’re seeing very high memory utilization per process, it’s possible that it could be due to a memory leak.  The best solution would be to examine your application’s code to locate and resolve the memory leak, but often this isn’t an option for system administrators.  You can mitigate the damage poorly coded applications can have on your server by adjusting the MaxRequestsPerChild directive.  The higher this value is set, the more requests a child process will handle before the parent process kills it off and spawns a new one.  Lowering this value will cause Apache to recycle its children processes more often, freeing up memory that would otherwise be held.  You’ll need to work to find a balance here as each time Apache recycles a child process it must utilize extra CPU time, so setting this value  too high can cause CPU utilization issues.

It’s also a good idea to only enable the modules in Apache that are actually necessary.  Depending on your installation source, you likely have several running and enabled that aren’t necessary and can in fact open up some security holes.  You can check what modules are enabled by calling the Apache binary with the following options (you may need to modify the path and binary name depending on your distro):

/usr/sbin/httpd -t -D DUMP_MODULES

You’ll have many outputted and again, some research will be required to determine exactly what is necessary.  For instance, you might not need the proxy_* modules – proxy_balancer, proxy_ftp_module, etc.  You can often simply comment these out in your httpd configuration.  The Apache httpd manual provides full information on most of these modules so you can determine their necessity:  http://httpd.apache.org/docs/2.2/

Also read  25 Apache Performance Tuning Tips

Read the original blog entry...

More Stories By Hovhannes Avoyan

Hovhannes Avoyan is the CEO of PicsArt, Inc.,

@ThingsExpo Stories
Smart Cities are here to stay, but for their promise to be delivered, the data they produce must not be put in new siloes. In his session at @ThingsExpo, Mathias Herberts, Co-founder and CTO of Cityzen Data, discussed the best practices that will ensure a successful smart city journey.
Web Real-Time Communication APIs have quickly revolutionized what browsers are capable of. In addition to video and audio streams, we can now bi-directionally send arbitrary data over WebRTC's PeerConnection Data Channels. With the advent of Progressive Web Apps and new hardware APIs such as WebBluetooh and WebUSB, we can finally enable users to stitch together the Internet of Things directly from their browsers while communicating privately and securely in a decentralized way.
"Tintri was started in 2008 with the express purpose of building a storage appliance that is ideal for virtualized environments. We support a lot of different hypervisor platforms from VMware to OpenStack to Hyper-V," explained Dan Florea, Director of Product Management at Tintri, in this SYS-CON.tv interview at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York City, NY.
Data is an unusual currency; it is not restricted by the same transactional limitations as money or people. In fact, the more that you leverage your data across multiple business use cases, the more valuable it becomes to the organization. And the same can be said about the organization’s analytics. In his session at 19th Cloud Expo, Bill Schmarzo, CTO for the Big Data Practice at Dell EMC, introduced a methodology for capturing, enriching and sharing data (and analytics) across the organization...
Manufacturers are embracing the Industrial Internet the same way consumers are leveraging Fitbits – to improve overall health and wellness. Both can provide consistent measurement, visibility, and suggest performance improvements customized to help reach goals. Fitbit users can view real-time data and make adjustments to increase their activity. In his session at @ThingsExpo, Mark Bernardo Professional Services Leader, Americas, at GE Digital, discussed how leveraging the Industrial Internet and...
Data is the fuel that drives the machine learning algorithmic engines and ultimately provides the business value. In his session at 20th Cloud Expo, Ed Featherston, director/senior enterprise architect at Collaborative Consulting, will discuss the key considerations around quality, volume, timeliness, and pedigree that must be dealt with in order to properly fuel that engine.
Why do your mobile transformations need to happen today? Mobile is the strategy that enterprise transformation centers on to drive customer engagement. In his general session at @ThingsExpo, Roger Woods, Director, Mobile Product & Strategy – Adobe Marketing Cloud, covered key IoT and mobile trends that are forcing mobile transformation, key components of a solid mobile strategy and explored how brands are effectively driving mobile change throughout the enterprise.
IoT is at the core or many Digital Transformation initiatives with the goal of re-inventing a company's business model. We all agree that collecting relevant IoT data will result in massive amounts of data needing to be stored. However, with the rapid development of IoT devices and ongoing business model transformation, we are not able to predict the volume and growth of IoT data. And with the lack of IoT history, traditional methods of IT and infrastructure planning based on the past do not app...
With major technology companies and startups seriously embracing IoT strategies, now is the perfect time to attend @ThingsExpo 2016 in New York. Learn what is going on, contribute to the discussions, and ensure that your enterprise is as "IoT-Ready" as it can be! Internet of @ThingsExpo, taking place June 6-8, 2017, at the Javits Center in New York City, New York, is co-located with 20th Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry p...
"LinearHub provides smart video conferencing, which is the Roundee service, and we archive all the video conferences and we also provide the transcript," stated Sunghyuk Kim, CEO of LinearHub, in this SYS-CON.tv interview at @ThingsExpo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
Internet of @ThingsExpo, taking place June 6-8, 2017 at the Javits Center in New York City, New York, is co-located with the 20th International Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. @ThingsExpo New York Call for Papers is now open.
The 20th International Cloud Expo has announced that its Call for Papers is open. Cloud Expo, to be held June 6-8, 2017, at the Javits Center in New York City, brings together Cloud Computing, Big Data, Internet of Things, DevOps, Containers, Microservices and WebRTC to one location. With cloud computing driving a higher percentage of enterprise IT budgets every year, it becomes increasingly important to plant your flag in this fast-expanding business opportunity. Submit your speaking proposal ...
"There's a growing demand from users for things to be faster. When you think about all the transactions or interactions users will have with your product and everything that is between those transactions and interactions - what drives us at Catchpoint Systems is the idea to measure that and to analyze it," explained Leo Vasiliou, Director of Web Performance Engineering at Catchpoint Systems, in this SYS-CON.tv interview at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York Ci...
WebRTC is the future of browser-to-browser communications, and continues to make inroads into the traditional, difficult, plug-in web communications world. The 6th WebRTC Summit continues our tradition of delivering the latest and greatest presentations within the world of WebRTC. Topics include voice calling, video chat, P2P file sharing, and use cases that have already leveraged the power and convenience of WebRTC.
20th Cloud Expo, taking place June 6-8, 2017, at the Javits Center in New York City, NY, will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced by a majority of enterprises of all sizes. Yesterday's debate about public vs. private has transformed into the reality of hybrid cloud: a recent survey shows that 74% of enterprises have a hybrid cloud strategy.
Discover top technologies and tools all under one roof at April 24–28, 2017, at the Westin San Diego in San Diego, CA. Explore the Mobile Dev + Test and IoT Dev + Test Expo and enjoy all of these unique opportunities: The latest solutions, technologies, and tools in mobile or IoT software development and testing. Meet one-on-one with representatives from some of today's most innovative organizations
DevOps is being widely accepted (if not fully adopted) as essential in enterprise IT. But as Enterprise DevOps gains maturity, expands scope, and increases velocity, the need for data-driven decisions across teams becomes more acute. DevOps teams in any modern business must wrangle the ‘digital exhaust’ from the delivery toolchain, "pervasive" and "cognitive" computing, APIs and services, mobile devices and applications, the Internet of Things, and now even blockchain. In this power panel at @...
Data is the fuel that drives the machine learning algorithmic engines and ultimately provides the business value. In his session at Cloud Expo, Ed Featherston, a director and senior enterprise architect at Collaborative Consulting, discussed the key considerations around quality, volume, timeliness, and pedigree that must be dealt with in order to properly fuel that engine.
The WebRTC Summit New York, to be held June 6-8, 2017, at the Javits Center in New York City, NY, announces that its Call for Papers is now open. Topics include all aspects of improving IT delivery by eliminating waste through automated business models leveraging cloud technologies. WebRTC Summit is co-located with 20th International Cloud Expo and @ThingsExpo. WebRTC is the future of browser-to-browser communications, and continues to make inroads into the traditional, difficult, plug-in web co...
"A lot of times people will come to us and have a very diverse set of requirements or very customized need and we'll help them to implement it in a fashion that you can't just buy off of the shelf," explained Nick Rose, CTO of Enzu, in this SYS-CON.tv interview at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York City, NY.