Tag Info

Hot answers tagged

63

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 ...


30

That benchmark is only comparing the speed of the native os to a single guest os. Hardly a real world test. I don't think I would put much weight on it. Most of the KVM camp argues that Xen requires too many interrupts and hops between kernel and user space but from most of the more real world benchmarks that I've seen that hasn't really been realized and ...


30

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: ...


19

The typical experience for a general purpose server workload on a bare metal\Type 1 Hypervisor is around 1-5% of CPU overhead and 5-10% Memory overhead, with some additional overhead that varies depending on overall IO load. That is pretty much consistent in my experience for modern Guest OS's running under VMware ESX\ESXi, Microsoft Hyper-V and Xen where ...


16

Here's some results comparing all major linux FSes with bonnie++ that you can use as a starting point. In terms of random seeks Reiser wins, followed by EXT4, followed by JFS. I'm not sure if this will correlate exactly to directory lookups, but it seems like it would be an indicator. You'll have to do your own tests for that specifically. EXT2 beats the ...


16

"Performance" has many aspects. The n00bs measure the boot time of an OS, and say e.g. Windows 2012 is sooooooo great because it boots in 12 sec on real HD, maybe 1 sec on SSD. But this sort of measure not very useful: performance is equal to OS boot time, but the OS boots once a month so optimizing that doesn't make much sense. Because it's my daily ...


15

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 ...


15

You say in your comments that you're evaluating a netboot / network root environment. The first thing you must realize is there is no such thing as "vanilla" - you're not going to run CentOS 5.10 right out of the box with zero changes (if you think you are you're deluding yourself: NFS Root is already at least Strawberry, verging on Pistachio). If you want ...


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 - ...


11

The performance of your SPDY setup will obviously depend on the implementation of the stack and you should know the processing cost vs. a 'regular' HTTP or HTTPS session, but.. Keep in mind that that the primary point of SPDY is to reduce the latency and overhead of rendering a typical webpage (as seen by your visitors), not to optimize your server-side ...


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 ...


9

The "SATA = 7.2K RPM, SAS = 10/15K RPM" mind-set is strong, and (in my opinion anyway) where most of the "SAS is faster than SATA" thinking comes from. There are some slight differences between SAS and SATA drives, notably in their on-board caching algorithms (NCQ vs. TCQ). However, the performance difference of equivalently specced hard-drives will be ...


9

IOPs is the difference your looking for in the "speed". The simple way to explain the difference is that SATA is half duplex and SAS is full duplex. SATA drives are dumb and have to communicate with the controller for operations. SAS drives are smart and only requests and returns use the bus. Depending on your usage case, spending more may not gain ...


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 ...


8

Creating a block level access to virtual machine state, as opposed to a file level access will always be faster because there is a layer of abstraction removed. I would recommend the LVM approach. Don't forget, you can always backup the LVM volume just like a file. There isn't much difference between the two. LVM is also quite flexible in terms of ...


8

Yes. But that is not the question. The difference is normally neglegible (1% to 5%).


8

Microsoft has a tool called SQLIO which will push the IO to the limit. Just build a Windows VM with a disk on the correct data store and run SQLIO. Don't let the name fool you, it doesn't actually require SQL to be installed (it doesn't have anything to do with SQL, it was just built by the SQL team).


8

Install one system, boot it and check out the block layer statistics from /sys/block/${DEV}/stat e.g. /sys/block/sda/stat. Quoting from the documentation: The stat file consists of a single line of text containing 11 decimal values separated by whitespace. The fields are summarized in the following table, and described in more detail below: Name ...


7

I agree with most of what Andrew said, except that I would recommend Reiser4 or the older (but better supported) ReiserFS. As those tests (and the documentation for ReiserFS) indicate, it is designed for precicesly the situation you are asking about (large numbers of small files or directories). I have used ReiserFS in the past with Gentoo and Ubuntu ...


7

A lot depends on which VT-x features are supported by the processors you are concerned with. The initial implementations didn't provide measurable benefits and in most cases performance was actually degraded. However the recent H/W virtualization features related to Second Level Address Translation (SLAT) implemented by AMD as RVI\NPT with the Shanghai ...


7

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 ...


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

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

I personally would choose virtualisation based on usability, support, reliability and suitability for the virtual machines you are using. Xen networking data transfer rates seem to be as good as real hardware but I've also had some battles with Xen and vLans and multiple ethernet cards. I have no experience of KVM, but I would also suggest that you ...


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, ...



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