my.cnf for 16 GB Ram Server [MariaDB]
max_connections depends on RAM because each connection uses RAM for read/join/sort buffers. You can not set max_connections arbitrary high. In general the RAM consumption can be represented that way:

+------+-----------------------+---------------------+-------------+
|  OS  | MyISAM/InnoDB buffers | Connections buffers | Third party |
|      |                       +---------------------+             |
|      |                       | | | | | | | ...     |             |
+------+-----------------------+---------------------+-------------+



Host's OS need some RAM for the proper operation - usually 1-2GB+.
Third party services (apache/php/etc) requirements should be
considered.
DB engines are used RAM for caching. MyISAM caches
indexes only while InnoDB caches both data and indexes.   
All active connections consumes a lot of RAM.


For maximum performance InnoDB should have innodb pool big enough to fit all the tables and their indexes in the RAM. max_connections should be tuned along with the read_buffer, join_buffer and sort_buffer values.

But the main attention should be paid to the queries optimization. You can't get a good overall peformance if the single query is slow. Even if you have the host with 256-512 GB of RAM it can be slow if the frequenlty executed queries are slow.