Slow file upload on OS X server

Jamey Cribbs jamey.cribbs at gmail.com
Mon Dec 31 21:17:42 MSK 2007


Ok, I compiled nginx from scratch so I could include the with-debug option.
What happens is that I click on the submit button and the error.log shows
nginx cranking through the same messages, which I will show below.  After a
minute or so, it finally starts uploading the file.  I have copied the last
part of the debug messages that show it cranking (and not doing anything)
after I clicked on the upload button, and then the log shows the first part
of when it finally starts uploading.  Does the fact that it keeps showing
"accept mutex lock failed" and then finally, when it starts uploading, it
shows "accept mutex locked", does this mean anything?

Here is the snippet from the log file:


2007/12/31 10:07:10 [debug] 22764#0: worker cycle
2007/12/31 10:07:10 [debug] 22766#0: accept mutex lock failed: 0
2007/12/31 10:07:10 [debug] 22764#0: accept mutex lock failed: 0
2007/12/31 10:07:10 [debug] 22766#0: kevent timer: 500, changes: 0
2007/12/31 10:07:10 [debug] 22764#0: kevent timer: 500, changes: 0
2007/12/31 10:07:10 [debug] 22766#0: kevent events: 0
2007/12/31 10:07:10 [debug] 22766#0: timer delta: 500
2007/12/31 10:07:10 [debug] 22764#0: kevent events: 0
2007/12/31 10:07:10 [debug] 22766#0: posted events 00000000
2007/12/31 10:07:10 [debug] 22764#0: timer delta: 500
2007/12/31 10:07:10 [debug] 22766#0: worker cycle
2007/12/31 10:07:10 [debug] 22764#0: posted events 00000000
2007/12/31 10:07:10 [debug] 22766#0: accept mutex lock failed: 0
2007/12/31 10:07:10 [debug] 22764#0: worker cycle
2007/12/31 10:07:10 [debug] 22766#0: kevent timer: 500, changes: 0
2007/12/31 10:07:10 [debug] 22764#0: accept mutex lock failed: 0
2007/12/31 10:07:10 [debug] 22764#0: kevent timer: 500, changes: 0
2007/12/31 10:07:11 [debug] 22766#0: kevent events: 0
2007/12/31 10:07:11 [debug] 22766#0: timer delta: 500
2007/12/31 10:07:11 [debug] 22766#0: posted events 00000000
2007/12/31 10:07:11 [debug] 22766#0: worker cycle
2007/12/31 10:07:11 [debug] 22764#0: kevent events: 0
2007/12/31 10:07:11 [debug] 22764#0: timer delta: 500
2007/12/31 10:07:11 [debug] 22764#0: posted events 00000000
2007/12/31 10:07:11 [debug] 22764#0: worker cycle
2007/12/31 10:07:11 [debug] 22764#0: accept mutex lock failed: 0
2007/12/31 10:07:11 [debug] 22764#0: kevent timer: 500, changes: 0
2007/12/31 10:07:11 [debug] 22766#0: accept mutex lock failed: 0
2007/12/31 10:07:11 [debug] 22766#0: kevent timer: 500, changes: 0
2007/12/31 10:07:11 [debug] 22765#0: kevent events: 0
2007/12/31 10:07:11 [debug] 22765#0: timer delta: 65000
2007/12/31 10:07:11 [debug] 22765#0: *4 event timer del: 10: 828555818
2007/12/31 10:07:11 [debug] 22765#0: *4 http keepalive handler
2007/12/31 10:07:11 [debug] 22765#0: *4 close http connection: 10
2007/12/31 10:07:11 [debug] 22765#0: *4 free: 00000000
2007/12/31 10:07:11 [debug] 22765#0: *4 free: 00000000
2007/12/31 10:07:11 [debug] 22765#0: *4 free: 00000000
2007/12/31 10:07:11 [debug] 22765#0: *4 free: 00000000
2007/12/31 10:07:11 [debug] 22765#0: *4 free: 00500510, unused: 48
2007/12/31 10:07:11 [debug] 22765#0: posted events 00000000
2007/12/31 10:07:11 [debug] 22765#0: worker cycle
2007/12/31 10:07:11 [debug] 22765#0: accept mutex locked
2007/12/31 10:07:11 [debug] 22765#0: kevent timer: -1, changes: 0
2007/12/31 10:07:11 [debug] 22765#0: kevent events: 1
2007/12/31 10:07:11 [debug] 22765#0: kevent: 7: ft:-1 fl:0005 ff:00000000
d:1 ud:002C3000
2007/12/31 10:07:11 [debug] 22765#0: post event 002C3000
2007/12/31 10:07:11 [debug] 22765#0: timer delta: 10
2007/12/31 10:07:11 [debug] 22765#0: posted event 002C3000
2007/12/31 10:07:11 [debug] 22765#0: delete posted event 002C3000
2007/12/31 10:07:11 [debug] 22765#0: accept on 0.0.0.0:9000, ready: 1
2007/12/31 10:07:11 [debug] 22765#0: malloc: 00500510:256
2007/12/31 10:07:11 [debug] 22765#0: *7 accept: 127.0.0.1 fd:10
2007/12/31 10:07:11 [debug] 22765#0: *7 event timer add: 10: 60000:828615828
2007/12/31 10:07:11 [debug] 22765#0: *7 kevent set event: 10: ft:-1 fl:0025
2007/12/31 10:07:11 [debug] 22765#0: posted event 00000000
2007/12/31 10:07:11 [debug] 22765#0: posted events 00000000
2007/12/31 10:07:11 [debug] 22765#0: worker cycle
2007/12/31 10:07:11 [debug] 22765#0: accept mutex locked
2007/12/31 10:07:11 [debug] 22765#0: kevent timer: 60000, changes: 1

On Dec 23, 2007 9:18 AM, Rapsey <rapsey at gmail.com> wrote:

> How slow is it?
> I use OS X and nginx as a frontend, but not to mongrel. File uploading
> works fine for me.
>
>
>
>
> On Dec 22, 2007 10:39 PM, Jamey Cribbs < jamey.cribbs at gmail.com> wrote:
>
> > Well, I turned off sendfile in config.  I also changed a bunch of
> > parameters per an email I received from Dave Cheney (thanks Dave!).  No
> > luck.
> >
> > Just for laughs, I installed and configured Swiftiply with Mongrel and
> > turned off Nginx.  Same issue.
> >
> > So, then I turned off Swiftiply also and started just one mongrel and
> > told it to listen on port 80.  It worked great.  File uploads were much
> > faster.
> >
> > So, if I am having the same issue when proxying from either Swiftiply or
> > Nginx, but I don't have the slowness issue when I don't proxy and just go
> > straight to the mongrel instance, this tells me the problem is not with
> > Nginx, but must be some setting on the OS X server.
> >
> > Does anyone know what would cause proxying in general to be slow on an
> > OS X server?  I know its not the network speed from the browser to the
> > server, because when I was connecting directly to the mongrel instance
> > without proxying, file uploads were fine.
> >
> > Sorry for asking this (probably) non-nginx related question on the list,
> > but I started it here, so I figured I would ask one more question.
> >
> > Thanks.
> >
> > Jamey Cribbs
> >
> >
> >
> > On Dec 22, 2007 2:08 PM, Alex Egg < eggie5 at gmail.com> wrote:
> >
> > > no sendfile on os x
> > >
> > > On Dec 22, 2007 7:57 AM, Wayne E. Seguin <wayneeseguin at gmail.com>
> > > wrote:
> > > >
> > > > On Dec 21, 2007 10:28 AM, Jamey Cribbs < jamey.cribbs at gmail.com>
> > > wrote:
> > > >
> > > > > I have a rails app running on an OS X server, using nginx as the
> > > web
> > > > server, proxying to a mongrel cluster.  File uploads from the user's
> > > browser
> > > > are painfully slow when going through nginx, but if I target an
> > > individual
> > > > mongrel instance in the browser, the file upload is fast.  I have
> > > the latest
> > > > mac ports version of nginx installed ( 0.54 , I believe).
> > > > >
> > > > > Any ideas?  I tried changing the log format, as suggested in a
> > > reply to
> > > > someone else's post, but could not get nginx to start, so I don't
> > > know if
> > > > nginx has to be compiled with a particular flag in order to include
> > > the log
> > > > format config directive in nginx.conf.
> > > > >
> > > > > Any help, suggestions would be greatly appreciated.
> > > > >
> > > > > Jamey Cribbs
> > > > >
> > > >
> > > >
> > > > Try turning sendfile off in the config.
> > > >
> > > >   ~Wayne
> > > >
> > >
> > >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx/attachments/20071231/aff729d8/attachment.html>


More information about the nginx mailing list