我正在运行在MySQL之上运行的Rails应用程序的扩展问题。 我正在使用memcached,并有很多索引。
我也开始增加某些my.cnf设置的值,如tmp_table_size和innodb_buffer_pool_size 。
但那么这就引起我的疑问。 我应该将MySQL数据库移动到第二个专用数据库服务器(从而增加了MySQL可以用于缓冲池等的内存量),还是应该增加当前服务器上的RAM,该服务器既支持Rails也支持MySQL?
如果我将MySQL移到自己的服务器上,我假设我增加了MySQL可用的内存。 但是我担心在两台服务器之间通过networking发送的MySQL查询的延迟,而不是通过mysql.sock 。
有什么build议?
首先,了解你的瓶颈在哪里。 你的应用程序主要是从SQL读取? 写作? 如果大多数情况下读取的数据集不再适合内存,则添加更多的RAM可能会提高性能。 也许这些数据已经适合内存,并且MySQL占用CPU [例如,它执行全表扫描,因为它在某些情况下不能像子查询那样使用索引]
一些忠告:
之后才决定是否: