Most distributions ship with conservative defaults for the maximum number of concurrent file descriptors and socket connections. Especially for a database server, it's wise to tune these values before optimizing anything else.
> 1000 files per connection * 370 = 370,000 files
This is a very pessimistic estimate, in reality you'll need much less than 1000 file descriptors per connection. As long as you tune your file descriptor limit, you should be able to handle one or two orders of magnitude more connections than this.
A few resources that might help:
http://serverfault.com/questions/92723/file-descriptors-sett...
http://www.cyberciti.biz/faq/linux-increase-the-maximum-numb...
http://stackoverflow.com/questions/2569620/socket-accept-err...