Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I think you have to distinguish between where you rent whole server capabilities, and more managed models like Google App Engine. It seems to me that GAE should deliver more consistent performance.


GAE definitely does not deliver more consistent performance. I've done a ton of performance tweaking on GAE as of late and my bottlenecks are now reduced to random points in the code between RPC's where my Python thread is obviously locked out of the CPU it was running on.

I should say that the variation this leads to is at max around two seconds. I believe this is due to App Engine doing some dynamic grouping of slow applications. So if your app has fast response times, it will be grouped with other apps having fast response times, so the maximum downside is limited.


That's interesting. Do you think you get better performance by using Java instead of Python? I heard bad things about Python and the GIL.


If you enable multi-threading for Java, yes. Although they are releasing multithreading with Python 2.7 in 5 days. This statement in their optimization article for the new rules is also interesting:

Muli-threading for Python will not be available until the launch of Python 2.7, which is on our roadmap. In Python 2.7, multithreaded instances can handle more requests at a time and do not have to idly consume Instance Hour quota while waiting for blocking API requests to return. Since Python does not currently support the ability to serve more than one request at a time per instance, and to allow all developers to adjust to concurrent requests, we will be providing a 50% discount on frontend Instance Hours until November 20, 2011. The Python 2.7 is currently in the Trusted Tester phase.

I've also noticed my app's speed pick up dramatically in the past few days. Perhaps because people are leaving before the new billing takes effect.

I don't mind the GIL much because I can just make a request to get a new thread going. :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: