recommended number of listener_jobs

Mark Smith marksmith at danga.com
Wed Apr 6 11:17:53 PDT 2005


Very strange... we regularly have a lot of connections -- probably
hundreds -- coming in from all over the internal network.

When you run your script fork_and_work, you should telnet to your mogilefsd
(port 7001 by default) and do this:

-----------------------------------------
lj at grimace:~$ telnet sto1 7001

Trying 10.0.0.81...
Connected to sto1.lj.
Escape character is '^]'.

!stats

uptime 1294794
pending_queries 0
processing_queries 0
bored_queryworkers 30
queries 124050233
.
-----------------------------------------

Note I typed !stats, and it gave me the output.  (Spacing added for
clarification.)

What you're going to be looking for is it saying that there's a lot of
pending_queries, perhaps?  That would indicate that it can't keep up with
the traffic you're sending.  (But it should never refuse a connection!)

Does the machine you're using have epoll or kqueue?  (You're using a FC3
box, I believe... 2.6 kernel I expect?  So you'd have epoll.)

You can also use another command, !recent, to see the recently executed
commands and how long they took.  Perhaps something's gumming up the works?

-Mark

On Wed, Apr 06, 2005, Robert Rogers wrote:
> Thanks!
> 
> The reason I ask about this is that while benchmarking MogileFS, I've found that when forking off requests for any more than 29 - 30 child processes the mogilefs::backend starts failing to connect and throws this error:
> 
> MogileFS::Backend: couldn't connect to mogilefsd backend at /usr/lib/perl5/site_perl/5.8.5/MogileFS.pm line 91
> 
> Specifically, I've got a basic fork_and_work script which forks off a number of child processes than runs thru a specified number of runs.
> 
> All looks good upto children < 30. After 30 mogilefs starts rejecting requests(??).  Is this weird?
> 
> Thx again.
> 
> Rob
> On Wednesday, April 06, 2005, at 10:04AM, Brad Fitzpatrick <brad at danga.com> wrote:
> 
> >5 or 10 would probably work.  We should make it automatic with a max cap
> >of like 50 which if it reaches means it's the database that's loaded, and
> >not the listener jobs.
> >
> >Here's our config:
> >
> ># cat /etc/mogilefs/mogilefsd.conf
> >daemonize = 1
> >db_dsn = DBI:mysql:mogilefs:host=10.0.0.48
> >db_user = mog
> >db_pass = XXXXXXXXX
> >conf_port = 7001
> >listener_jobs = 30
> >delete_jobs = 1
> >replicate_jobs = 5
> >mog_root = /mnt/mogilefs
> >reaper_jobs = 0
> >
> >
> >Though I'm not sure why we have mog_root defined... think that's old
> >historic crap that we don't use anymore now that we're using HTTP mode.
> >
> >- Brad
> >
> >
> >On Wed, 6 Apr 2005, Rob Rogers wrote:
> >
> >> Hi,
> >>
> >> Anybody have suggestions for number of listener_jobs for MogileFSD.
> >> (or for that matter a good .conf file for Mogilefsd)
> >>
> >> Thx.
> >>
> >> Rob
> >>
> >>
> >
> >


--
Mark Smith
junior at danga.com


More information about the mogilefs mailing list