一台机器上最快的Perl IPC/消息队列是什么? [英] What's the fastest Perl IPC/message queue for a single machine?

查看:65
本文介绍了一台机器上最快的Perl IPC/消息队列是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在(主要)Perl项目中工作,并且希望使用消息队列将进程彼此隔离.我的工作流程是这样的:

I'm working on a (primarily) Perl project and want to use a message queue to isolate processes from each other. I have a work flow like this:

输入->接收器->处理器->输出

Input -> Receiver -> Processor(s) -> Output(s)

我需要每秒处理数百个事务,因此加快我最大的动力.对于这种类型的设置,最快的消息队列系统是什么?

I need to handle several hundred transactions/second, so speed my biggest motivator. What is the fastest message queue system for this type of setup?

我所有的进程都在同一台计算机上运行,​​因此如果可以提高性能,则可以使用UNIX套接字或临时文件.

All of my processes run on the same machine, so I can use UNIX sockets or temp-files if it means better performance.

到目前为止,我最喜欢的两个是IPC :: DirQueue和beantalkd.任何人都有这方面的经验,可以得出结论哪种更快?

So far my two favorites are IPC::DirQueue and beanstalkd. Anyone have experience with both and can make conclusions about which is faster?

还有什么可以使一台机器上的工作队列超快的?

What else is available that would make a super-fast work queue on a single machine?

推荐答案

我不了解IPC :: Dirqueue或beantalkd,但是传播(传播 Spread :: Message 模块).进行多进程(运行另一个守护程序)以及多机都很容易.令人高兴的是,由于它是基于组的,因此如果您想要执行日志记录,统计信息或调试之类的操作而不必更改(或减慢)处理器的速度,则可以轻松地附加另一个侦听器.

I don't know about IPC::Dirqueue or beanstalkd, but I've had good success with spread (with either the Spread or Spread::Message modules). It's easy to do multi-process (with another daemon running) and also multi-machine. The nice thing is that since it's group based you can easily attach another listener if you want to do things like logging, statistics or debugging without having to alter (or slow down) your processors.

这篇关于一台机器上最快的Perl IPC/消息队列是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆