Tag Info

Hot answers tagged

59

The short answer is: Nobody can answer this question except you. The long answer is that benchmarking your specific workload is something that you need to undertake yourself, because it's a bit like asking "How long is a piece of string?". A simple one-page static website could be hosted on a Pentium Pro 150 and still serve thousands of impressions every ...


38

How much do you value the data? Seriously, each filesystem has its own tradeoffs. Before I go much further, I am a big fan of XFS and Reiser both, although I often run Ext3. So there isn't a real filesystem bias at work here, just letting you know... If the filesystem is little more than a container for you, then go with whatever provides you with the ...


29

If you have concurrency set at 1, there's no difference between those two. It begins to matter when you have more than 1 request performed simultaneously. Let's look at an example of what I get on my localhost: ab -c 1 -n 1000 http://localhost/ will give: Time taken for tests: 3.912 seconds Time per request: 3.912 [ms] (mean) Time per request: ...


14

Disk & RAM Capacity Planning Planning disk and memory capacity for a database server is a black art. More is better. Faster is better. As general guidelines I offer the following: You want more disk space than you'll EVER need. Take your best estimate of how much disk space you'll need for the next 3-5 years, then double it. You'll want enough RAM to ...


14

When selecting a CPU architecture for a web-server, you do need to know what you're doing with the server itself. Only you can tell if what you're doing can take advantage of multiple cores, or if it is solidly single-threaded. PassMark's PerformanceTest product test distils CPU performance down to a single number, yet what you're doing with your web-server ...


13

ab only sends web requests, it doesn't care what the server is that it is testing. However, it only tests one page. There is perfmeter, siege, httpload, jmeter and a number of others. httpload is rather nice since you can feed it a series of URLs that will be tested.


12

The only way latency would drop appreciably is if the current 100Mbit link is saturated. If it is not saturated, you will likely not notice any change. Additionally, your assumption that the 1Gbit link will be able to support larger packets is incorrect. Max packet size is determined by the MTU of the various devices along the path that the packet takes - ...


10

It may also be worth noting that you can run InnoDB without a filesystem and improve performance without filesystem overhead. I'm not sure I'd recommend it, but I've used it before without issues. InnoDB Raw Devices In addition, if you're running at 90% reads and 10% writes, unless you need the transactional ability of InnoDB you might look into porting to ...


8

The short version is that the closest to a recommendation I've seen MySQL make on filesystems is XFS, however ext3 should be ok as well, ext4 promises to be a nice improvement, but it's still not quite stable, although it should be before the end of the year. If you're running cluster filesystems CXFS, OCFS2 and GFS should all be ok. I'd strongly warn ...


7

The virt-what script will identify many different types of hypervisors and container technologies. It's pre-packaged for most major Linux distributions (e.g. apt-get install virt-what or yum install virt-what) and its output is suitable for use in shell scripts. It correctly performs its detection from inside the virtual guest. Current types of ...


7

You can download and install the "stress" utility... It allows you generate CPU, Memory, Disk and IO load from the command line. Homepage: http://people.seas.harvard.edu/~apw/stress/ FAQ: http://people.seas.harvard.edu/~apw/stress/FAQ


7

yes, iperf is the right tool for this. Make sure you use a long interval to allow the traffic stream to grow to 10GbE speeds. You may have to modify TCP window sizes to reach full saturation, as well. Here are some sample command lines... On the server side: iperf -s On the client side: iperf -c server.ip.address -w64k -t60


6

If you're looking for a quick and dirty bandwidth/latency test then http://www.speedtest.net/ works. It will give you latency measurements and up/down bandwidth. Loss and Jitter are other variables to measure, but less commonly an issue. Evaluating overall experience depends on application. Some uses are latency sensitive, others are bandwidth sensitive. ...


6

The most important benchmarks are the ones you take against your application before making some changes, then re-running them, on your own hardware in your own server environment. This won't help if you're trying to choose whether to use framework X versus framework Y for your application or configuration, unless you are in a position to test your servers ...


6

I used to do a good deal of hardware troubleshooting in large datacenters, I would recommend find a bootable Linux distribution, any will do. Be sure to find one with a 64 bit image if you have a 64 bit CPU. Stresslinux contains a whole suite of tools to stress your servers, and force any hardware failures out into the open. I'm personal to the "stress" ...


6

I've had good luck with: dd if=/dev/urandom of=/dev/null bs=1024 It keeps a single thread at 100% CPU. Run multiple times to keep more cores busy. Nice it if you want to.


6

It's not likely to make much difference. Go with whatever your distribution uses as its default, provided it's sufficient. Spend your effort tuning other things - get enough ram - get a raid controller which doesn't suck - and fix the application's lame (ab)use of the database (NB: this is the main culprit in most cases where it hasn't already been done). ...


6

The answers here are seriously deprecated, and need updating as this is coming up in google results. For produciton environments, XFS. Everytime. XFS is journaled and non-blocking. Make sure you have the following variables for a modern (2011/2012) MySQL database using InnoDB in production: innodb_file_per_table = 1 innodb_flush_log_at_trx_commit = 1 # an ...


6

When you're dealing with the web, it's usually not the speed of an individual request that matters, because it's not a realistic indicator of how the server will perform under load. What you really want to know is whether your server can serve pages up fast enough for users to have a good experience under expected load conditions. To answer that question, ...


6

On Linux, it is possible to look for tell-tale signs of virtualisation depending on the type of hypervisor used. You can typically start by looking in /proc/cpuinfo for the CPU type. Some hypervisors report fake CPU types such as "QEMU Virtual CPU". If it is running VZ, you can find /proc/user_beancounters that report resource usage. With Xen, you will find ...


5

What is reasonable depends on what kind of traffic your server is getting. A typical web server that handles about 1 million page requests per day (and that's quite a busy little server) will rarely ever need more than 50 concurrent connections, unless your page processing is really heavy. If your average page processing time (i.e. the time it takes from ...


5

If you are running Hyper-V and wish to look at the performance on its current machine then I recommend the following article on How to Monitor Hyper-V Performance. Has come in handy in the past. I am not aware of any tools that can look at the performance of the Hyper-V layer which are inexpensive.


5

Take a look at bonnie and bonnie++, they will give you pretty much information. http://www.coker.com.au/bonnie++/


5

Anything other than a real workload will not tell you if the new system is faster. It could have slower CPU, less memory, slower disk but still give faster throughput simply because it's closer to your userbase. fio is handy for comparing disk I/O. ab is better than nothing - bt for more realistic testing then have a look at www::mecanize/http::recorder.


5

Sure, by all means. One thing to watch out for with iperf is that you can bottleneck at the CPU - by default, it uses random data to nullify the effect of any tricky compression or deduplication of data. If you have enough nodes, then it should be no problem to just use the default; if you find that the CPU is pegging, then override the input to something ...


4

Capacity planning starts with measurement, in this case response time versus load. Once you know the degree to which the programs slows down with load, which is NOT a linear function, you can select a response time target, and then discover what resources it will take to meet that target for a given amount of load. Performance measurement is always done ...


4

Always remember that benchmarks are not real-world load. Even if a CPU performs nicely in benchmarks, your mileage with your components a certain kind of application set will vary. As an eye-opener, look at the benchmark results for the X5675 and the X5690 CPUs within the CPUMark graph - both are same generation chips with the clock speed being the only ...


4

I would recommend using iozone and/or bonnie++ to benchmark. If you're solid on what you need to test, both tools are customizable to those requirements. For iozone, try something like the following to run a single-threaded random read/write test with a 4k record size using a 4 Gigabyte file. Run this from the directory you wish to test: iozone -t1 -i2 ...


4

http://speedtest.net/ and http://pingtest.net are good starting places -- they'll give you a rough idea of bandwidth and latency/jitter. Make sure you run your tests to more than one endpoint, and at different times of the day. This is especially important if you're on a shared connection (Cable). When conducting tests make sure you are eliminating ...


4

YES gbit has a lower latency, since: the same number of bytes can be transfered in faster time BUT the improvement is only appreciable if the packet(s) have a certain size: 56 byte package => virtually no faster transfer 1000 byte package => 20% faster transfer 20000 byte package(s) => 80% faster transfer So if you have an application which is very ...



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