我已经阅读了这个问题的每个可能的答案,并通过谷歌搜索,以找到以下问题的正确答案,但我相当新手,似乎没有得到明确的理解。 我读过很多内容与Web服务器有关,但我没有Web服务器,而是内联网数据库。
我在Windows服务器上有一个MySQL dsatabase。
我将有许多用户经常访问此数据库以执行简单查询并将其写回新记录。 读/写不会那么重(即使可以连接1000个,50-100个用户也可能同时这样做)。 GUI将通过Excel表单和/或Access。
我需要知道的是在任何给定时间我可以拥有的最大活动连接数。 我知道我可以在Mysql Admin上更改数字但是我真的需要知道什么才能真正起作用... 如果系统真正正确地处理100个,我不想放1000个用户(在此之后,虽然连接,但性能会太慢,例如)
任何想法或自己的经历都将受到赞赏
答案 0 :(得分:1)
这主要取决于您的服务器硬件(RAM,cpu,网络)和其他进程的服务器负载(如果不专用于数据库)。我认为你没有绝对的答案,最好的方法就是测试。
答案 1 :(得分:0)
我认为像1000这样的东西应该可行,只要你使用64位MySQL服务器。使用32位,连接太多可能会产生虚拟内存压力 - 连接有自己的线程,并且每个线程都需要堆栈,因此堆栈内存将减少缓冲池和其他缓冲区的可能大小。
如果你有许多空闲连接,MySQL通常不会减速,但是特殊的命令,例如“show processlist”或“kill”,枚举每个连接都会慢一些。
如果空闲连接空闲时间过长(空闲时间超过wait_timeout参数),则服务器将其丢弃。如果在您的可能情况中是这种情况,您可能希望增加wait_timeout(其默认值为8小时)