AiP maturity

37 views
Skip to first unread message

David Stone

unread,
Jul 25, 2013, 8:03:10 PM7/25/13
to aip-p...@googlegroups.com
I am investigating using AiP in a symfony based project for a very high traffic site and was wondering if AiP has been used in a large production environment before. I have been very impressed with the performance gains so far with requests being processed 2-4x faster. 

I noticed the max-children didn't seem to do anything as the number of workers was always min-children no matter how much traffic there was. Is it not possible to autoscale based on how many workers are busy? Also I noticed that memory usage seemed to slowly increase after 1000+ requests. Probably an issue with our own application code and not AiP. I think maybe adding an option to restart workers after X requests would help reclaim the memory. 

Added those two features would help make this production ready but is there anything else you're aware of that would cause problems on a very busy site? Is anyone using AiP regularly right now?

Alexey Zakhlestin

unread,
Jul 26, 2013, 3:30:40 AM7/26/13
to aip-p...@googlegroups.com
Hi, David.

On 26.07.2013, at 4:03, David Stone <da...@nnucomputerwhiz.com> wrote:

> I am investigating using AiP in a symfony based project for a very high traffic site and was wondering if AiP has been used in a large production environment before. I have been very impressed with the performance gains so far with requests being processed 2-4x faster.

AiP was used in "large production environments" before, and it showed itself as a stable product, but I'm not sure about current projects.
I, myself, didn't use it for quite some time. Though, I have plans for applying it to my current project, so, development will restart quite soon.

> I noticed the max-children didn't seem to do anything as the number of workers was always min-children no matter how much traffic there was. Is it not possible to autoscale based on how many workers are busy?

max-children is ignored in current code. that's true.
patches are welcome :)

> Also I noticed that memory usage seemed to slowly increase after 1000+ requests. Probably an issue with our own application code and not AiP. I think maybe adding an option to restart workers after X requests would help reclaim the memory.

This should be easily doable in application code.
Transports have ->unloop() method which marks worker to termination after finishing current requests.

But I suggest you to do a longer test.
It is quite possible that memory will stop growing after 50000 requests, for example.

PHP never frees memory it took, but it actively reuses memory. It might take a lot of requests to allocate enough buffers for shuffling around.

> Added those two features would help make this production ready but is there anything else you're aware of that would cause problems on a very busy site? Is anyone using AiP regularly right now?

--
Alexey Zakhlestin
CTO at Grids.by/you
https://github.com/indeyets
PGP key: http://indeyets.ru/alexey.zakhlestin.pgp.asc



signature.asc
Reply all
Reply to author
Forward
0 new messages