Hacking the Core of the Zend Framework

So, I’ve been hacking the core of the Zend Framework again, this time the Zend_Controller component. I spent a couple of hours monitoring the performance and tuning parameters and configuration options to minimize bottlenecks. Needless to say I am very impressed with the overall design of the component. It’s very simple, flexible and covers most of the use cases.

Performance problems typically do not become apparent until someone places an application under an increased load, so measuring the performance of an application (at design time) can help improve the scalability of the application.

The methodology I’m using:

  1. Determine the problem.
  2. Formulate a solution.
  3. Implement the solution.
  4. Analyse the results.
  5. Document everything.

Continue reading

Advertisements

4 thoughts on “Hacking the Core of the Zend Framework

  1. “I’ve been testing mostly the performance of the framework, as I believe that measuring the performance of an application when placed under ever increasing loads determines the scalability of that application.”

    Performance is not the same thing as scalability.I trust that you know this, but there are many people who tune for speed and then argue about scalability by reading many scalability related posts in which performance is always mentioned.

    If you are testing only the Front Controller you can increase the load as much as you like , by adding more servers it will always scale up to a point , so it’s scalable. Same goes for vertical scaling by adding new hardware. Whether it’s 1 r/s or 1000 r/s , it does not matter , it is still scalable.

    Answering performance related problems has little to do with scalability even if sometimes it can be a key factor.

    (and zend controller front is cool yes).

  2. That’s right, the responsibility for application performance occurs both at design time and at run time. You are talking about run time, I’m talking about design time. From an design point of view, when performance begins to fall below the stated minimum performance requirements, it means that you have reached the limit of the application’s scalability, and therefore it will perform poorly. Of course, there are many ways to scale poorly designed applications at run time, for example, scaling up (using better, faster, and more expensive hardware).

    Answering performance related problems has little to do with scalability even if sometimes it can be a key factor.

    Well, like I said before, you are talking about performance at a higher level (hardware), I’m talking about performance at a lower level (application design).

  3. Improving performance means that your code is vertically scalable and in the same time it is also vertically scalable because you can add more hardware or you can tweak you system. Of course the design can affect the scalability , but again , performance is not the same thing as scalability , it is just a variable used to compute scalability.

    Measuring scalability is saying how much you can improve before you tweak. Scalability is also used to approximate the max you can get, either horizontally or vertically , trough software or hardware before reaching that max. At least this is what i understand.

    Measuring performance is not the same thing as measuring scalability. I think :

    “measuring the performance of an application when placed under ever increasing loads determines the scalability of that application.” is partially wrong.

    I hope that this answer makes sense.

  4. I agree, it’s confusing. I’ve updated the post:

    “Measuring the performance of an application (at design time) when placed under ever increasing loads helps improve the scalability of that application.”

    Thanks

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s