Bitcoind Performance for production usage Lets say we have one instance of bitcoind running on the production server. And our exchange software/application interacts with it using RPC callbacks for:


address generation 
withdrawal 
notifications


Now the question is
what is the capacity of bitcoind?
What would be the limit for number of transactions per minute? 
What is bitcoind performance? 
Any suggestions?
address generation


Make sure your using HD here (A wallet created with bitcoin core 0.13 will be HD).

Address generation is pretty fast, make sure your using a large keypool –keypool=5000 in the conf-file maybe.
Also, you can pre-generate addresses and stored them in a cache-database.
But be aware, if an attacker manages to compromise that cache-database, he can probably redirect funds.

Address generation can also be done outside of bitcoin-core. Check BIP32 (HD Wallets) and maybe have a look at public key derivation. If you need performance, have a look at libbtc (C library with CLI, can derive addresses very fast).


  withdrawal


At this point, you very likely are stepping into the realm of "hot wallets". Make sure your building a secure environment.
This step involves ECDSA (signing of inputs) which requires the according private keys.
Signing is not very fast (depends on your requirement). But you can perfectly measure this with a regtest setup (sign 1000 transactions and measure performance).


  notifications


Don't use -walletnotify (it forks a process = very slow).
Try to use ZMQ (you might need to add some extra code for the wallet).