Hot answers tagged

40

Processor advancements, clock speed and IPC calculations can make it almost impossible to try to reasonably compare decade old CPUs to modern ones. Not only are the instructions per cycle going to vary, but newer processors have instruction sets dedicated to complex calculations (Intel has added AES-NI as an example), clock speed is no longer a reasonable ...


35

I've found that when I've had to tune for lower latency vs throughput, I've tuned nr_requests down from it's default (to as low as 32). The idea being smaller batches equals lower latency. Also for read_ahead_kb I've found that for sequential reads/writes, increasing this value offers better throughput, but I've found that this option really depends on ...


31

I don't want to sound terrible by emphasizing something that should be obvious here, but you're comparing a high-end server processor from 2014 to a high-end server processor from 2007. I don't think this requires much more explanation. There's a reason an HP ProLiant DL580 G5 is available so inexpensively today. They were large, slow and lack many ...


22

1 x 10Gb link for performance. Otherwise if a single server needs to use 1.1Gbs to another server it can't because most load balancing systems use destination MAC or IP (Which would be the same). This also eliminates issues where links are busier then other links because of the same fact, if the hash works out to be on the same link they end up on the same ...


21

SQL Server, and most other products, generate the counters all the time, no matter if there are listeners or not (ignoring the -x startup option). Counter tracing is completely transparent on the application being monitored. There is a shared memory region on which the monitored application writes and from which monitoring sessions read the raw values at the ...


20

Recognize that Ubuntu 14.04 uses Apache 2 with PHP running through an mpm_prefork module, of which an editable file is in /etc/apache2/mods-enabled/mpm_prefork.conf. Also, recognize that starting in Apache 2.4, MaxClients is now renamed as MaxRequestWorkers, and so any documentation regarding MaxClients needs to be switched to MaxRequestWorkers. Stop the ...


19

Arpit, if you imagine that the absolutely smallest likely web response, even if it's a static text file is one Ethernet packet (~1,500 bytes) then 500,000 of them works out at around 750,000,000 bytes, or roughly 7.5 gigabit. So unless your server has very easily offloaded 10Gb NICs (and it doesnt't, the one you've got is one hundred times slower) and have ...


19

Is it ever sane to use a Virtualized solution when performing I/O heavy workloads? Yep, very sane indeed, in fact for most organisations now virtual is the default and doing things on physical boxes is the very much the exception. We have over 100k VMs of all forms and many of them are >40k IOPS with no issue at all. What are the best practices ...


14

From the MySQL documentation For example, for 200 concurrent running connections, you should have a table cache size of at least 200 × N, where N is the maximum number of tables per join in any of the queries which you execute. You must also reserve some extra file descriptors for temporary tables and files. So if in your application you have a query ...


14

There's nothing wrong with running perfmon on production boxes. It's relatively low key, and can gather a lot of good info for you. And how would you accurately simulate production loads if you didn't run some analysis on the production server? From Brent Ozar in your own link: Let Perfmon run for a day or two to gather a good baseline of the server’...


12

First advice If you cannot afford to lose any data (I mean once a user entered new data, if that cannot be lost in the coming seconds) and because you do not have something like a UPS, then I would not remove the write barrier, neither would I switch to writeback. Removing write barriers If you remove write barrier, then in case of crash or power loss, the ...


11

bonnie++ is an aging but good one, as well as iozone.


11

I am sorry, but my honest answer is this: If you don't even know how to check if your database is indexed you are so far out of your league that your only option is to hire a professional, given the scope of your project. Not a group of cheapo code slaves, but someone with a lot of experience with sites like yours. We can give you a plethora of tips, but ...


10

The short answer is yes. Your total hard drive latency is the [seek latency] + [rotation latency]. The 10K RPM drive will have a smaller rotational latency due to its faster spinning and will also be able to read data off of the drive faster. What the higher cache will do is for writes. A cache is similar to a buffer. When it reads data from the disk it ...


10

YSlow is not complaining that they're wrong (even though that's what it says), but it's complaining that they're not needed. The only way to get YSlow to shut up about this is to disable them. The good thing is, I just did this myself earlier today! Open your IIS manager, click on the server, and go to HTTP Response Headers. Click the "Add..." button, and ...


10

Etags are OK as long as you don't serve content from multiple servers. If you only serve from one server, then leave them there. They don't hurt. And if you don't want YSlow to complain about them, then click the Edit button near the Rulesets select element and edit the YSlow(V2) profile. Just uncheck the "Configure entity tags (Etags)" option.


10

I'd recommend against options IPFIREWALL_DEFAULT_TO_ACCEPT. The default is to Default to Deny. The firewall comes up with just one rule deny ip from any to any and stays that way until a script configures exactly what traffic should get through. Follow-Up Note: RSA (one of the world's leading security technology companies) was hacked recently when ...


10

This is outlined in the document you linked under the "Tuning Procedures" heading. In order to enter the Advanced system options menu for modifying a G6 or newer HP ProLiant for a low-latency application, you need to get to the main BIOS screen by pressing F9 during POST. Once there, type Ctrl-A. This will present an additional menu named "Service ...


10

Is it ever sane to use a Virtualized solution when performing I/O heavy workloads? Does a database server regularly pulling 1gb/second random IO count? Have one here. Or a virtual file server delivering up to 600mb/second to a HPC cluster. That one is running off 8 Velicoraptors in a Raid 10, dedicated. What are the best practices around this sort ...


9

This may sound a bit crazy, but you should: Turn down logging to the bare minimum you need. Make syslog only log mail.err or higher. Add more RAM. Yes, Postfix doesn't need it, but extra RAM means extra page cache for the kernel. You didn't mention what filesystem is on /dev/sdb (which matters some too), but definitely switch it over to noatime, which ...


9

the delay between the tx and rx events and the generation of interrupts for those events. rx-frames[-irq] rx-usecs[-irq] tx-frames[-irq] tx-usecs[-irq] The frames parameters specify how many packets are received/transmitted before generating an interrupt. The usecs parameters specify how many microseconds after at least 1 packet is received/transmitted ...


9

Have you increased maxThreads in the AJP 1.3 Connector on port 8009?


9

My job is building large (>1m user) commercial VoD systems and unless you can utilise multicast/anycast and don't use a CDN then you just have one option and that's to scale up your storage systems and networking to handle the maximum concurrent IO load you need. Certainly local caching, as you alude to, can help but I always size our streamers to assume ...


9

At first, the client requests will get queued, until there is a process/thread that gets free on the apache server. So, the clients will see a delay in loading the page. See the MaxClients parameter documentation for more information. When placed in the backlog queue, the client request can eventually time out on the client side. Then the user will see ...


8

Disable last access time stamp and reserve space for the MFT. NTFS Performance Hacks Disable the NTFS Last Access Time Stamp


8

Caveat: there may be inaccuracies below. I've been learning about a lot of this stuff as I go along, so take it with a pinch of salt. This is quite long, but you could just read the parameters we were playing with, then skip to the Conclusion at the end. There are a number of layers where you can worry about SQLite write performance: We looked at the ...


8

Here's the schedule of tuned-adm configurations... I think it helps to see them in tabular form. The main thing to note is that the default RHEL6 settings suck!! The other thing is that the enterprise-storage and virtual-guest profiles are identical except for reduced swappiness on the virtual guest side (makes sense, right?). As for a recommendation on ...


8

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


7

One answer: OpenVMS Performance Management and maybe other stuff at HP OpenVMS Systems.


7

From the default sysctl.conf, it provides "security" against script kiddies who manage to brute their way in on a non-root account. Doesn't hurt to have it enabled (in most cases, exceptions are non-privileged daemons needing to see the process list). # Uncomment this to prevent users from seeing information about processes that # are being run under ...



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