我是sidekiq的新手,我的要求是,与登录系统的用户数量一样,高优先级作业可以有很多。让每个用户都希望在处理其工作后立即收到通知。
我有一个sidekiq守护程序以50的并发性运行,所以一次只能处理50个作业?我读过维基说我们应该运行多个sidekiqs。
要运行的sidekiq的上限是多少?
如何将登录的用户数量与并发工作程序的数量进行匹配?
有没有可以用来启动这些工作人员的技术堆栈?像独角兽这样的地方有大量的工人吗?我甚至可以将独角兽与sidekiq一起使用吗?
Martin Konec.. 5
要运行的sidekiq的上限是多少?
你会希望有一个最高每个处理器核一个Sidekiq的。如果您有双核处理器,则需要2个Sidekiqs。但是,如果您的服务器还执行其他工作(例如运行Web服务器),则将需要保留一些可用的内核。
如何将登录的用户数量与并发工作程序的数量进行匹配?
使用Sidekiq,您可以抢先创建线程。本质上,您有一个X空闲线程的线程池,如果有大量的工作涌入,它们随时可以部署。您将需要创建与您认为随时拥有的最大工作数量一样多的线程。 。但是,出于性能方面的考虑,每个内核超过50个线程不是一个好主意(在大量线程之间进行切换所花费的时间会明显减少分配给线程进行实际工作的CPU时间)。
有没有可以用来启动这些工作人员的技术堆栈?像独角兽这样的地方有大量的工人吗?我甚至可以将独角兽与sidekiq一起使用吗?
您不能为此使用独角兽。您需要一些流程主管来处理 Sidekiq的启动/重新启动。他们的Wiki建议使用Upstart或systemd,但我发现Supervisor的工作异常出色,并且设置起来非常容易。
要运行的sidekiq的上限是多少?
你会希望有一个最高每个处理器核一个Sidekiq的。如果您有双核处理器,则需要2个Sidekiqs。但是,如果您的服务器还执行其他工作(例如运行Web服务器),则将需要保留一些可用的内核。
如何将登录的用户数量与并发工作程序的数量进行匹配?
使用Sidekiq,您可以抢先创建线程。本质上,您有一个X空闲线程的线程池,如果有大量的工作涌入,它们随时可以部署。您将需要创建与您认为随时拥有的最大工作数量一样多的线程。 。但是,出于性能方面的考虑,每个内核超过50个线程不是一个好主意(在大量线程之间进行切换所花费的时间会明显减少分配给线程进行实际工作的CPU时间)。
有没有可以用来启动这些工作人员的技术堆栈?像独角兽这样的地方有大量的工人吗?我甚至可以将独角兽与sidekiq一起使用吗?
您不能为此使用独角兽。您需要一些流程主管来处理 Sidekiq的启动/重新启动。他们的Wiki建议使用Upstart或systemd,但我发现Supervisor的工作异常出色,并且设置起来非常容易。