Tag Info

Hot answers tagged

31

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


16

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

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


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

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


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


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

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


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


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

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

strace is a good way to start debugging this kind of problem. Try to strace the pid of one of the Apache processes consuming more CPU: strace -f -t -o strace.output -p PID This will show you the system calls made within that process. Take a look at strace.output and see what the process was doing. This might enlighten the way and show you where the ...


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


6

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


6

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


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


5

Here's a great blog post with lots of research and data links from James Hamilton, an architect at Microsoft I used to work with. SSD versus Enterprise SATA and SAS disks I discussed this briefly with Richard and Carl in a .NET Rocks recording on Tuesday. If you have an IO bottleneck with a random read workload, then using SSDs should give you a big boost ...


5

Looking through the courier imapd docs and my installs of it it doesn't seem to have a cache or index of anything beyond the uids of the messages. Have you looked at dovecot? It looks like you can migrate to it without users noticing. It also has a discussion of how it cache's various bits of information in message database. All that being said, a ...


5

The accepted answer by Farseeker does not work. I've tested this in IIS 7.0.6000.16386 on Windows Server 2008 Standard SP 2. See Jeff Atwood's comment on Stack Overflow for the same question.


5

Often the ZFS Intent Log (ZIL) is the NFS bottleneck of a ZFS file server. ZFS obeys the NFS protocol very strictly and makes sure that the data of synchronous writes really hits the disk before it reports success to the writer. ZFS uses the ZIL to temporarily store this data before it writes it in a bigger chunk to the pool. If writes to your ZIL are slow ...



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