Tag Info

Hot answers tagged

32

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


19

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


16

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


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


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


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

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

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


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

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


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

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

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


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

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

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


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

Security privileges security.bsd.see_other_uids=0 security.bsd.see_other_gids=0 security.bsd.conservative_signals=1 security.bsd.unprivileged_proc_debug=0 security.bsd.unprivileged_read_msgbuf=0 security.bsd.hardlink_check_uid=1 security.bsd.hardlink_check_gid=1 vfs.usermount=0 net.inet.tcp.log_in_vain=1 net.inet.udp.log_in_vain=1


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

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.


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

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


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

Let's identify the bottleneck. Since you're on the same machine, we can assume it's either CPU or disk activity. For the one text file, it shouldn't be disk activity, but at 35k connections, you may be generating 35MB of logging every second as well. The examples you're showing don't run access logging, only errors. Your config, however, has much more going ...


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



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