Welcome! Log In Create A New Profile

Advanced

Problem in nginx with proxy_cache on

Qiu Linfeng
May 25, 2009 10:08PM
hi,all
Recently, I used nginx and found a problem. The problem is at the memory
pool while I turn on the proxy_cache.
Here is how I found it.
I use a tool to test nginx (with proxy_cache on) and found that CPU idle is
zero while the IO didn't get to 100%.
So, I think there must have performance problem in nginx with proxy_cache
on. I used VTune to find the problem. The VTune Report shows 98% of CPU run
at the fuction ngx_palloc() in ngx_palloc.c.
I read the code and I think while nginx alloc memory from a pool, there is
a cycle to get the free memory of the pool, the cycle do a lot of times. At
last, I get rid of the do...while, just let each memory alloc from the
function ngx_palloc_block(). Obviously, I get rid of the "for" cycle in
ngx_palloc_block() too. And the performance is improved a lot, while the CPU
idle is not zero and the IO utils get to 100%.
Can this problem be resolved in a good way?
thanks for all
Subject Author Posted

Problem in nginx with proxy_cache on

Qiu Linfeng May 25, 2009 10:08PM

Re: Problem in nginx with proxy_cache on

Igor Sysoev May 26, 2009 07:23AM

Re: Problem in nginx with proxy_cache on

Qiu Linfeng May 26, 2009 10:39PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 88
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready