Tag Info

Hot answers tagged

27

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


15

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


13

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


12

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


11

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


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

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


9

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


9

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


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


8

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


8

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


7

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


7

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


7

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


6

Apache will spawn multiple processes, that is normal. You can control this in the apache configuration. The settings are dependent on what type of MPM (Multi-Processing Module) you are using. If you are using Apache MPM worker (http://httpd.apache.org/docs/2.0/mod/worker.html) you can control it with the following settings: ServerLimit 16 How many ...


6

I can't say much about the performance difference between BDB and FSFS, but I can definitely say that FSFS is far more stable. I'd suggest using it over BDB simply to preserve your sanity. When we had a largish repos running on BDB, we had to run recovery on it at least once a week, often several times. It was irritating. Now that we use FSFS, it's been ...


6

I would also add: Turn off disk defragmentation. Change block size to 16kb so each file is written into a single block. Rational for this: You are wanting to write 1.7GB of data a day, in 200,000 files. Assuming that these files are writen over a 24 hour day, this means around 3 files a second. This does not seem to be a significant problem for a single ...


6

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.


6

You don't have an unusual use case, or if you do, you haven't mentioned it. So there's no reason to change any settings from their defaults. When there's a "make everything better at no cost" switch, it comes in the "on" position. Also, free RAM is bad. Free RAM is 100% waste. It's not like if you use less RAM now you can use more RAM later. If you have 1GB ...


6

Going off your comment that it was the nf_conntrack full problem, you can either increase the conntrak table: sysctl -w net.netfilter.nf_conntrack_max=131072 Or if you are already behind a firewall you can just exempt HTTP traffic from connection tracking: # iptables -L -t raw Chain PREROUTING (policy ACCEPT) target prot opt source ...


5

As you will be changing your configuration it would be advisable to backup your current configuration befor your install: $ cp -R /etc/apache2 ~/backup $ sudo apt-get install apache2-mpm-worker If you run into problems you can $ sudo apt-get install apache2-mpm-prefork $ cp -R ~/backup /etc/apache2


5

Look in the /proc/irq/283 directory. There is a smp_affinity_list file which shows which CPUs will get the 283 interrupt. For you this file probably contains "0" (and smp_affinity probably contains "1"). You can write the CPU range to the smp_affinity_list file: echo 0-7 | sudo tee /proc/irq/283/smp_affinity_list Or you can write a bitmask, where each ...


5

Consider setting up an asynchronous proxying web server like nginx or lighttpd in front of Apache. Apache serves content synchronously so workers are blocked until clients download generated content in full (more details here). Setting up an asynchronous (non-blocking) proxy usually improves situation dramatically (I used to lower the number of concurrently ...


5

You didn't provide the version of CentOS installed as your VMWare guest... but let's assume it's CentOS 6.x. The default CFQ I/O scheduler is a poor choice for guest virtual machines (and most systems). You'll want to modify it. I used to just recommend setting the scheduler to deadline, but there's an easier method now for RHEL/CentOS systems... The best ...


5

There's a lot to cover here. If you want more performance (in order from greatest to least impact): Add another pair of disks and expand to RAID 1+0. This will provide the greatest benefit. Tune your filesystem (noatime, journaling mode, remove write barriers, etc.) and/or move to a higher-performance filesystem like XFS or even ext4. Go back to a ...


5

You're going to buy a lot of servers that have to be "qualified" for an application that isn't written yet. That's like buying a truck for a purpose you don't know yet. There's really no way to "qualify" it unless you know what the requirements are. Usually qualified systems are those tested to work with a given application by using a tight set of spec'ed ...



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