我们有两台商用服务器运行我们所有的100多个应用程序,我们j
是一种高可用性的商店,请求和响应通常在1秒到2/3分钟之间,因为有大量数据需要对每个请求进行处理。现在有一天,not
上的负载有所增加,我们无法添加更多服务器,因为负载不在服务器上,但在数据库上,我们计划添加智能负载均衡器,如Nginx。但是从nginx网站的文档中,我得到的信息非常少。
我们已经调整了服务器上的最大线程,池中的最大连接数等,但是,这不是一个有效的解决方案,因为并非所有数据库请求都需要花费大量时间/ cpu,因此减少线程/池大小不是一个去。
在我们的情况下,请求可以等到处理在第一个到达的请求上成功完成,然后可以稍后处理剩余的请求。
如果负载均衡器上有很多负载,Nginx可以帮助我们等待请求吗?这很聪明吗?
我们想到的其他选项是将来使用memcache,memsql,但是我们的数据是由Oracle的专有软件插入的,因此,它直接写入数据库,所以,这是一项正在进行的工作,看看是否它适用于我们的商店。
答案 0 :(得分:1)
您可以采取多种方法:
你想要使用3,但关于队列的事情是,如果进入速度比退出速度快,那么你得到的就是无限队列。没有什么好玩的。与1和2一起使用可能会更有帮助。