我可以在我的database.yml中设置的最大池大小是多少?我正在使用Mysql Db。rails + database.yml中的最大连接池大小
我在24芯,32GB RAM机运行20个麒麟进程。
我可以在我的database.yml中设置的最大池大小是多少?我正在使用Mysql Db。rails + database.yml中的最大连接池大小
我在24芯,32GB RAM机运行20个麒麟进程。
MySQL中的默认配置是100个连接。
从MySQL 5.5页
Linux或Solaris应该可以,如果你的RAM数千兆字节可用,从每个工作负载较低经常在500到1000个并发连接,以支持和多达10,000个连接或者响应时间目标要求不高。由于该平台上使用的Posix兼容性层,Windows限于(打开表格×2 +打开连接)< 2048。
你必须自己弄明白,我不认为同时连接数据库将成为你的瓶颈。
从Rails的连接池:
连接池同步到数据库连接数量有限线程访问。其基本思想是每个线程检出池中的数据库连接,使用该连接并检查连接。ConnectionPool完全是线程安全的,并且将确保两个线程不能同时使用连接,只要正确遵循ConnectionPool的合同。它还将处理线程数多于连接数的情况:如果所有连接都已检出,并且线程试图检查连接,则ConnectionPool将等待其他线程检入连接。
所以你唯一不应该做的就是在Rails池大小上比在你的mysql配置中有更多的连接。
但这是Max连接。这与Rails连接池相同吗? – 2013-03-07 10:53:00
编辑了我的回复。 – gmaliar 2013-03-07 10:55:19