SSDs have virtually no relationship to each other.
ulimit is an upper bound (unnecessarily low at 1024) on the number of files that can be open in any 'process'. (
mysqld is a 'process'.) It does relate to
table_open_cache, which is now set dynamically based on ulimit. (In older versions, it was not automatically set.) However, a single table may need to open more than one file, so that 1024 is not really a limit on the number of "tables" in your databases.
Open_tables (bounded by
Opened_tables/Uptime (frequency of opening an uncached table).
The current default for
max_connections is 151, which is 'reasonable' for the 'typical' installation. Almost no one "needs" 3000.
SSDs, as already mentioned, is new technology that is like "disks", but faster. A few obscure things should be tuned for SSDs, but only if you have a very busy system.