About four years ago, I had a bright idea that I would like to learn more about how to build and scale a small Web performance measurement platform. I’ve worked in the Web performance industry for nearly a decade now, and this was an experimental platform for me to examine and encounter many of the challenges that I see on a daily basis.
The effort was so successful and garnered enough attention during the initial blogging boom that I was able to sell the whole platform for a tiny (that is not a typo) sum to Technorati.
The name is taken from another experimental tool I wrote called GrabIT2 which uses the PHP cURL libraries to capture timings and HTML data for HTTP requests. It is an extension of my articles and writings on Web performance that started at Webperformance.org, and that have since moved to this blog.
What is GrabERF?
GrabPERF is a multi-location measurement platform, based on PERL, cURL, PHP, and MySQL that is designed to
- Measure the base HTML or a single-object target using HTTP or HTTPS
- Report the data to a central database (located in the San Francisco Area)
- Report the data using a GUI or through text based download
Why not Full Pages with all Objects?
Reason 1: I work for a company that already does that. Lawyers and MBAs among you, do the math.
Reason 2: I am an analyst, not a programmer. The best I can say about my measurement script is hack job.
Why is the GrabPERF interface so clunky?
See reason 2 above.
If you want to write your own interface to the data, let me know.
Why has the interface not changed in nearly three years?
The current interface works. It’s simple, clean, and delivers the data that I and the regular users need to analyze performance issues. If there is something more that you would like to see, let me know!
I like what I see. How can I host a measurement location?
Just contact me, and I can provide you with a list of PERL modules you will need to install on your linux server. In return, I need a static IP address of the machine hosting the measurement agent.
How stable is GrabPERF?
Most of the time, I forget it’s even running. I have logged onto the servers and typed in uptime and discovered that it’s been 6 months or more since the servers have been re-booted.
It was designed to be simple, because that’s all I know how to do. The lack of complexity makes it effectively self-managing.
Shouldn’t all systems be that way?
What if my question isn’t asked / answered here?
Your should know the answer to this by now: contact me.