IRC Log


Monday April 18, 2011

[Time] NameMessage
[06:14] NikoS hi, all. I'm testing my application based on zmq with pub/sub sockets. Test creates 1000 threads which emulates chat, each thread has own sub socket for recieving msgs and use general pub socket to send msg to chat. Application crashes after ~550 threads has joined to chat with error "ZMQError: Too many open files". I've increased ulimit, but anyway it crashes after ~550 threads
[06:15] NikoS I forgot to add that i write on python with pyzmq
[06:16] NikoS Has anyone tested zeromq application on same manner?
[06:16] guido_g which ulimit setting did yoi increase and how?
[06:16] guido_g and why do you do so much threads?
[06:17] guido_g it's not a ømq problem at all
[06:17] NikoS i've set it to 65535
[06:18] guido_g set what to 65535?
[06:19] NikoS fs.file_max in /etc/sysctl.conf
[06:21] guido_g check if "ulimit -n" changed
[06:21] NikoS done ) it's realy 65535
[06:22] guido_g in the same shell the python program runs?
[06:22] NikoS yes
[06:23] guido_g which transport you're using?
[06:24] NikoS Transport? Is it subscriber/publisher pattern?
[06:24] guido_g *sigh*
[06:25] guido_g is it tcp, incproc or what?
[06:25] NikoS )
[06:26] NikoS ooph ) tcp
[06:27] guido_g then check with netstat how many sockets are opened when the program runs
[06:35] NikoS It seems that application opens more than 2000 unix sockets
[07:06] sustrik NikoS: there's max_sockets limit in 0mq
[07:06] sustrik set by defaault to 512
[07:06] sustrik if you need more sockets, you have to modify src/config.hpp
[07:06] sustrik and recompile the whole thing
[08:59] NikolaVeber is zhelpers library maintained along with the distribution?
[09:00] NikolaVeber it is used in most of the examples in the guide
[11:25] NikolaVeber does anyone have experience with php-zmq?
[11:28] sustrik mikko should, he's the author :)
[11:29] NikolaVeber :)
[11:30] NikolaVeber Docs say its experimental, I'm just wondering how experimental :)
[11:34] mikko a bit
[11:35] mikko it's fairly stable
[11:35] mikko i think it's going to be 1.0.0 very soon
[11:42] NikolaVeber great! :)
[11:43] mikko the api is unlikely to change in near future
[11:43] mikko at least not in a backwards incompatible way
[17:05] rod Hi, I'm trying to work through some of the examples in chapter 3 of the zguide in PHP, and have come to some that use the Zmsg class - but can't find where this is available? Or am I supposed to write it myself? Pointers appreciated, cheers
[17:11] guido_g https://github.com/imatix/zguide/tree/master/examples/PHP
[17:12] rod aha wicked - looks like lots of good stuff there. thanks very much guido_g.
[21:24] benwaine Hello
[21:25] benwaine Im having loads of fun with 0mq but have hit my first problem. Anyone round to help?
[21:26] mikko benwaine: yep
[21:26] benwaine woo hoo :)
[21:26] benwaine A quick intro to what im doing:
[21:27] benwaine I have a connection to twitter with an open stream. As tweets come in they get sent to workers using push and pull sockets.
[21:28] benwaine I then had them fan back into a sink as in the example in the guide
[21:28] benwaine all good so far. However I then want to push all the processed tweets into a queue device
[21:29] benwaine I get the error: Fatal error: Uncaught exception 'ZMQSocketException' with message 'Failed to bind the ZMQ: Operation not supported by device'
[21:29] benwaine when trying to bin the queue device to localhost
[21:30] mikko you have to bind by ip / iface
[21:30] mikko not by hostname
[21:32] benwaine ahh i see. Is that true only of devices? I have it working with localhost in another example?
[21:32] mikko benwaine: it shouldn't really work
[21:32] mikko unless it's been fixed very recently
[21:33] mikko connecting by hostname is ok
[21:33] mikko but not binding
[21:33] benwaine ahh yes - i can see in my code I am connecting not binding
[21:34] benwaine Is it advisable to bind by IP or just use *:port ?
[21:37] mikko maybe *
[21:37] mikko makes it a bit more portable
[21:37] mikko if binding to 0.0.0.0 is not a problem there
[21:37] mikko brb
[21:57] benwaine Mikko: That got me back on track. Thanks very much.