Which Linux filesystem/setup would you choose for the best speed in the following scenario:

a few million files
~3mb file size on average
random access to files
need to get a list of all the files frequently
constant writing of new files
constant reading of old files