Jeffrey Ng wrote:
I am the coworker of Fayland who posted the topic "memory usage of mod_perl process".

Our company has invested quite some time on migrating our perl code to catalyst (more than half year of time by 7 programmers). However, I am starting to worry that moving to catalyst is causing too much overhead for our processes and thus severely slowing down our site.

I remember the memory usage of each process before catalyst was around 25Mb. And now the new code is using around 90MB as fayland said. During peak hour, our servers were able to handle 30+ requests per sec before catalyst upgrade. Now we are only able to handle around 10 requests per sec.

As a result, the response time of the site is much slower after the upgrade. it takes at least 2 sec for the browser to start responding during non-peak hours.

Here's the memory stats for a typical process:

Memory Usage (in bytes):

  Size       :   97107968 (92.6M)
  Share      :    6012928 ( 5.7M)
  VSize      :   97107968 (92.6M)
  RSS        :   85131264 (81.2M)

Memory Segments Usage (in bytes):


  Text       :     253952 ( 248K)
  Shlib      :          0 (   0K)
  Data       :   78696448 (75.1M)
  Stack      :          0 (   0K)



I have read practical mod_perl. I tried to preload many of our modules in startup.pl. But the shared memory value doesnt change at all. Also, doesnt 5.7M shared memory usage sound too small comparing to the 92.6M total size?

I wonder how much is your shared memory? Is the memory overhead of catalyst huge? Is catalyst inherently slow?


I too have found that my Catalyst apps are "huge" compared to previous mod_perl or FastCGI apps. I had been using Class::DBI and a hand-rolled framework, but now use Catalyst and DBIx::Class. The difference is at least a factor of 2.

It's not been a problem for me at my current traffic levels, and I'm more than happy to trade some RAM for the joy the design and coding has become compared to my previous situation.

But I do wonder where all the RAM is going. I especially concur that not much is being shared which is curious given that the modules are preloaded by mod_perl. I had done some profiling to measure how much RAM a dummy Cat app took vs a dummy DBIC schema, maybe I'll dig that up and send it to the list.

Best,
Brian

_______________________________________________
List: [email protected]
Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/

Reply via email to