Tag Info

Hot answers tagged

5

Upgrade your server I know you don't want to hear it. I know you client doesn't want to hear it. But it's what you need to hear! If the client is running 4 websites (production no less) they should fork out some cash for a better server. But why? micro instances are NOT designed for production use (AWS says so themselves), they suffer from contention, ...


5

Taskset is for binding a process to one or more CPUs; essentially specifying where it can run at initial execution or while it's running. If using RHEL/CentOS on modern server equipment, numactl is recommended over taskset. Cpuset/cset is for CPU shielding and is a framework build around Linux cgroups. Cset was never popular on certain distributions (like ...


5

That image says that the maximum UDP transfer rate over 1gbps ethernet is 119635891 Bytes per second. Multiple 119635891 with 8 (one byte is 8 bits) and you get 957087128 == 957,08mbps


4

Honestly, I wouldn't be using Ubuntu for this... but there are options that can be applied to any Linux variant. You'll want to increate your network stack buffers: net.core.rmem_default = 10000000 net.core.wmem_default = 10000000 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 If the application is writing to disk, maybe a scheduler/elevator ...


4

Congratulations, you've managed to use nearly all of your swap space. The first obvious problem here is that you went very deep into swap. This is probably what's causing the system to thrash so hard (lots of time spent in system, I/O wait and software interrupts). First thing to do is to reduce the number of Apache processes that are running. You don't ...


4

I don't think it's possible to say: Buy X, install Y, and your problem will be instantly solved. This is going to take several iterations to get through, and you'll need to put more work into identifying the bottlenecks when they inevitably appear. For the most part I'm going to avoid recommending specific hardware, as that would be out of date by the time I ...


3

Before anything, based on the screenshot you have posted with htop output, it seems you have 512MB of RAM on a site running WordPress? I have never seen WordPress happy on servers less than 1GB of RAM. Maybe if you are running a test or development site, 512MB is adequate, but for a production site you need 1GB of RAM. That is the root of your problem. That ...


2

Late for this party, but might benefit others, so... Re. cluster size, first and most important, you'd need to look at the distribution of file sizes, so you could optimize for both low fragmentation and disk space waste so you'd resize clusters close to this size, not overall avg - e.g.: if most files fall near 2k, a 2k cluster size would be optimal, if ...


2

First off, you can use the great info here: http://penetrateit.wordpress.com/2012/02/11/exchange-2010-balancing-the-number-of-mailboxes-and-average-size-across-all-databases/ to figure out some stats needed to help balance the mailboxes across databases. Or you can use Steve's script here: http://www.stevieg.org/2010/09/balancing-exchange-databases/ ...


2

The reason for using noatime or relatime on an actual disk is that without it reads will also involve writing to disk. This additional writing can slow down the system, cause disks to spin up which would otherwise have remained spun down for much longer, as well as cause wear on flash media. But with tmpfs no data ever has to be written to disk. The data ...


2

Separate your application and display logic (front) from your data access logic and storage (back). The database is going to generate a lot of IO activity, and as such will slow down other things inside the same server. Add RAM. no, seriously, add RAM. Accessing data stored in memory is faster than accessing data stored inside a flash-drive, which is ...


2

It makes no sense to try to keep the load low at all costs. What is important is that your process steps back if something more important needs to make use of the resources offered by your system. ionice and nice / renice can be used to reduce the priority so that it only runs when the system is otherwise idle.


2

This boils down to file system and procfs tuning. What you explain as 'high' load is situation where other normal processes on system are starved from reads and they forced to wait. Situation is characterized by high share of CPU wait time (check top %wa) many processes in D state (uninterruptible sleep due to waiting for reads from disk) Using noop ...


2

Since you're running your environment on AWS, I'm hoping that you're environment is setup using CloudFormation templates or any of the services built upon it (e.g. Elastic Beanstalk). With that assumption, I'm gonna propose the following: Spin up an exact copy of your environment in a separate VPC Create your load test scripts, starting with a lower amount ...


2

As far as I know, listen block maxconn is different then global maxconn. With global maxconn you limit the max number of connections you let the haproxy process handle. Listen / frontend section has its own maxconn, which limits the nubmer of connections per listener. So, try to set up maxconn in your frontend sections too, or at least set it up in default ...


2

You seem to be obsessed with nginx tuning while not even knowing which part of your architecture is the slowest. It's very unlikely that nginx would be the first thing to tune. Put your fastcgi targets in one upstream block and append $upstream_addr and $upstream_response_time to your log format. If not already present, append $request_time to your log ...


1

You are on right track. Here are some things which should help you figure out remaining details. You need detailed monitoring of Apache on all stats provided by mod_status "_" Waiting for Connection "S" Starting up "R" Reading Request "W" Sending Reply "K" Keepalive (read) "D" DNS Lookup "C" Closing connection "L" Logging "G" Gracefully finishing "I" Idle ...


1

Are you running your benchmark tool from multiple machines or from a single one ? It seems you are running from a single one and so the local port range is the culprit.


1

Start by tracing what is taking too long with Chrome/IE developer tools (network tab). Confirming that the slowness is happening for all requests irrespective of type, trace the path from end user to your server (traceroute) looking for any excessive delays. Test from multiple places. On the server, check the number of open connections (netstat -antp | ...


1

According to top, it looks like something is using up a good amount of CPU. Update your post with the process list according to top. More than likely, something is pulling a lot of I/O on the server and exhausting RAM as most of your swap is cached (so, recently used). The load should not be that high on a healthy server.


1

not sure about the 'over 50 seconds' aspect, but you could poll to see if your CPU is over a certain limit. Just a quick sketch in powershell... # checks cpu threshold and runs script in $scriptName variable function CPUthreshold { # mandatory single variable in function for script name Param( [Parameter(Mandatory=$true)] ...


1

If you're going the route of high performance typically you'll want to run as few other (scheduled) processes as possible as they'll interfere with your application. Linux, like the classical UNIX operating systems, is designed to run multiple applications concurrently in a fair way and tries to prevent resource starvation and you'll be aiming for the ...



Only top voted, non community-wiki answers of a minimum length are eligible