The e1000 Nic is very common and can be found in many servers. During my last NBD cluster engagement, on a set of 5 Dell 1950 servers equipped with a quad e1000 Nic, we were trying to tune cluster performance and one of the thing that was disapointing was that the system time, to processed interrupts from the Nics, was always low. Since neither the ndbd processes or the mysqld processes were using a significant amount of CPU, we were wondering where the bottleneck was.
Then, Michel Donais, from the client, read the Linux driver documentation and bingo!!! Those e1000 Nics throttle interrupts by default at 8000/s. 8000… it is a big limiting factor…. design to prevent DOS attacks. We removed the throttling and… reach more than 30,000 interrupt/s and guess what, the number of transaction per second scaled with it along with the ndbd and mysqld cpu usage. Interesting isn’t it? Then I remembered another recent gig on Sun T2000 using e1000 Nics…
This engagement was a very frustrating one, nothing was busy and the performance level was microscopic. In despair, I even tried to switch from GB ethernet to 100 MB ethernet with no change!!! This pointed out to a very slow processing of network packets. There was a lot of similitude between the Dell servers and the T2000s, same type of unexplainable saturation, just a different level. From the experience of last week, I did some research and found that the InterruptThrottleRate is activated on T2000 and… set by default to 550. Is it possible that many performance issues of NDB cluster on the T2000 be caused by that? The e1000 is fairly common with Sun servers, I don’t know if the other common Nics have a similar feature.
For more information: http://docs.sun.com/app/docs/doc/819-6990/ggtvv?a=view