5 Comments

Summary:

Zynga has open sourced a tool called zPerfmon that collects and serves all the performance data its engineers could ever need, and all from a single server.

headquarters-04
photo: Zynga

Zynga has open sourced zPerfmon, its tool for monitoring the performance of its thousands of social-gaming servers. The company announced the decision in a blog post on Friday afternoon. The code is available on Github.

Web companies build and open source stuff all the time, of course, but what makes zPerfmon somewhat unique is its scale: It’s a single-server system that every day, according to blog post author Binu Phillip, processes 150 gigabytes of data, adds 100 million databases rows, and offers up “50 million profiles and 100s of ways to view them.”

“zPerfmon isn’t by any stretch of imagination ‘light and agile with subroutines connected like a string of pearls,” Phillip acknowledges. It’s a single machine processing myriad file types and job types, with dozens of ways to view and access data for each different game. “Processes exec others in a daisy chaining frenzy,” he adds. “… It is also remarkably stable and resilient.”

Phillips offers a fairly technical explanation of zPerfmon in his post, but here’s the gist of how it operates:

“The server is a processing engine with a heartbeat of 30 minutes. All data that is available at 30 minute boundaries are grouped, sliced and diced. In addition to profiles, server keeps user and instance counts and system metrics. All of this data is keyed with timestamps. The timestamps make it possible to dig down from increase in instance count to a spike in CPU to a page which had a missing break in a foreach() loop.”

There are numerous tools already around for monitoring and troubleshooting server performance, from commercial software such as Splunk to open-source software such as Ganglia, but web companies often like to build their own stuff. This makes some sense considering the often-unique nature of each company’s system architecture and analysis needs. Facebook, for example, has built at least two monitoring systems of its own: One is a Hadoop-backed repository called Operations Data Store, while the other is a real-time tool called Claspin, which manages the company’s cache infrastructure.

Zynga uses zPerfmon to monitor its production servers, which run on the company’s custom-built zCloud architecture and which experience traffic unique to that setup and to Zynga users’ behavior.

  1. Portal: Zynga losing fans.Isn’t that great news for what they’re doing.Zynga ur not smart, have things ur ways.

    Share
  2. fuck up zynga

    Share
  3. marvin gadbaw Sunday, August 11, 2013

    lost my seller booth on farmville 2 help.

    Share
  4. So as far as I can understand the tool can only monitor servers, but what about other parts of IT infrastructure? For many companies it is mych better to get a tool which can monitor everything e.g. site, servers, databses and so on. For example, there are many tools like Anturis, Pingdom which can monitor everything about the company.

    Share
  5. no document to install zperfmon. fuck!

    Share

Comments have been disabled for this post