Though this is not the correct forum for your question
Ideally I would recommend 2 DC for any Domain AT LEAST
Second for the DC hardware
https://technet.microsoft.com/en-us/library/dn303418.aspx?f=255&MSPPError=-2147217396
and
http://serverfault.com/questions/243846/what-are-the-requirements-on-a-windows-domain-controller
More RAM:
The more memory available for caching the better. It's really that simple.
Disks:
Put the AD Database (ntds.dit) onto separate disk spindles (ideally RAID protected and as fast as possible).
Allow at least 0.5Gb per 1000 users when allocating disk space for the AD database. Given the price of RAM these days, this probably isn't a bad idea for growing the RAM allocation either.
Network connections:
Faster network will always help response but you will only see a return on money spent here if no other parts of the system are acting as a bottleneck.
Processor:
Multiple cores are king; these days its probably better to have (and probably easier to purchase!) more processor cores than fewer, but faster single cores. I'd say that anything more than dual core might be difficult to justify on a DC without testing,
however, but you'd probably want to go quad core if you were planning to have more than 10,000 users.
Other Server Roles:
Be careful about how you mix server roles.
There are certain roles that typically get folded in with the domain controller in all but the biggest networks (e.g. DNS/DHCP/WINS/Cert Server) with little harm.