# PCI max throughput

Hypothetical here, but I want to understand.

Say I have a hand me down machine, 4 PCI slots, 64-bit 33 MHz PCI.

How much data can that PCI bus handle? System bus is 133 MHz.

I want to use one slot for a SATA II card, and the rest for Gig-E cards, building out as fast a NAS as I can. I think one slot may be AGP2x, so that leaves me 2 for Gig-E and one for SATAT II.

Will I saturate, what is the max bandwidth of the PCI bus?

• you'll certainly saturate the PCI bus before you get anywhere close to full SATA-II speed. (dunno about the gig-E, but suspect it's similar.) i've a similar system and just put in an SATA-II card; my SATA-II drives read at approx. 60-70 MB/sec. much better than IDE drives, so it's worthwhile for my purposes. (not posted as an answer since i don't have time to calculate max theoretical speeds and such.) – quack quixote Nov 8 '09 at 9:49

According to Wikipedia's PCI article and List of device bandwidths, PCI bus bandwidths can be calculated with the following formula:

``````frequency * bitwidth = bandwidth
33.33 MHz * 32 bits = 1067 Mbit/s = 133.32 MB/s
``````

Conventional PCI buses operate with the following bandwidths:

• PCI 32-bit, 33 MHz: 1067 Mbit/s or 133.33 MB/s
• PCI 32-bit, 66 MHz: 266 MB/s
• PCI 64-bit, 33 MHz: 266 MB/s
• PCI 64-bit, 66 MHz: 533 MB/s

• SATA (SATA-150): 150 MB/s
• SATA (SATA-300): 300 MB/s
• Fast Ethernet (100base-X): 11.6 MB/s
• Gig-E (1000base-X): 125 MB/s

Theoretically, it looks like you've got room on the PCI bus for two Gig-E cards, or a SATA-II card, but not both. At least, not running at theoretical maximums. If you put in all three, running them all at full load will bottleneck at the PCI bus.

Fortunately, you won't come close to hitting theoretical speeds on the SATA interface (unless you're using expensive SSD drives). Your Gig-E cards will probably come closer, but in all cases the real-world speeds will be significantly less than theoretical speeds.

I expect such a setup will work fine for many applications.

I agree with quack quixote but to keep it fast and simple for your case: Your total maximum theoretical bandwidth is 533MB/s

In plain English it really depends on your max usage and load.

*2xGigE cards are a total of 4gbit of bandwidth (or 500MB/s) if you max both out in both directions at once (not likely unless you are doing VPN/conferencing at those speeds). *1x3gbit SATA card. How many drives will you add? Newer SATA drives will pull an average of 170MB/s.

So it really depends on how much average and maximum bandwidth you pull on your NICs and the SATA card. It could work fine without any hiccups for many common workloads but if you are pushing maximum bandwidth on 2 gbit NICs and your SATA card you will have a slowdown due to maximum PCI bus speed.

• Old answer but where do you get 533MB/s from? 64 bit at 33 MHz would be 266 MB/s on a shared PCI bus afaik – pipe Jun 15 '20 at 12:25

I tested with intel 2x1Gbit PCI Lan card(originaly PCI-X64-133MHz, but in regular PCI2.2 33MHz slot) BSD Reports in Interface Traffic stats: The result is ~550-600Mbit when works in download(or one way) mode in duplex mode works ~200Mbit-Rx ~200Mbit Tx

Windows says 62MB/s.

So I didn't reach 1000Mbit, I thing if you place more cards the result will be worst.