Gerhard Killesreiter

Hiphop

While Drupal's performance is always of interest, it has a hard time defending itself against the features people want to add. There are different ways to address this, but the "less features" approach is usually not defensible. To defend itself from the feature onslaught, Drupal tries to load as few lines of PHP code as possible, which helps to increase performance. A PHP opcode cache (such as APC) helps even more and points the way...

Rudy Grigar

Yum!

I have created a centos/rhel Yum repository for x86_64 architectures containing all of the necessary packages for using HipHop. It depends on the EPEL and IUS repositories. All of the packages are tracked in a GitHub project, and are hosted in a Yum repository at pkg.tag1consulting.com. I recommend installing the repository and hiphop and giving it all a try. Follow the instructions provided in the README on GitHub to get started. Any and all feedback...

Narayan Newton

Performance Graphing Templates
Continuing with our MongoDB monitoring series, today we are releasing Cacti Performance Graphing templates and unit tested data sources for MongoDB. These are built on top of Baron Schwartz's excellent Cacti Graph framework found here ( http://code.google.com/p/mysql-cacti-templates). This framework allows you to define graphs via a simple (relatively) perl file and to create testable data sources for your graphs. I highly recommend it. MongoDB Cacti These Cacti Graphs, Data Templates and Data Sources allow Cacti...

Narayan Newton

No-SQL
There has been a lot of talk about No-SQL databases recently, especially in the Drupal community. One of the most popular being MongoDB, due to its easy interface, feature-full design and speed. Use of MongoDB and No-SQL in general is only going to increase in the coming months. At Tag1, we have been working on a few projects with MongoDB as a central infrastructure component. Due to this, we have come upon one of Mongo's...

Jeremy Andrews

DBA Module

I began porting the dba module to Drupal 7 as an opportunity to learn more about the new database abstraction layer. In this upcoming Drupal release, our database layer is now built upon the PHP Data Objects (PDO) data-access abstraction layer, introducing new syntax and symantecs into writing queries with Drupal. A powerful new query builder makes it possible to easily write queries that run on any database type supported by Drupal, currently including MySQL...

Narayan Newton

Looking For Applicants

At the beginning of 2009, I was hired by Tag1 Consulting as Jeremy Andrews' full time partner. A decidedly questionable decision on his part, but a great change for me! I used to work at the Open Source Lab at Oregon State University and I am currently the sysadmin for drupal.org. Working at the OSL and drupal.org spoiled me, I'll be completely honest about that. I got used to working with interesting new technologies and...

Narayan Newton

Multiple Instances

We at Tag1 have used the Cacti Memcache templates many times. ( http://dealnews.com/developers/cacti/memcached.html) They have become a staple for us and many others. However, we and one of our clients have had issues making them work for monitoring multiple Memcache instances (running on different ports) on the same host. It is possible to make this work with the vanilla templates, but it is a bit difficult. Because of this, we have created a re-roll of...

Narayan Newton

New Toolset Addition

There are some standard tools in every MySQL DBA's back pocket, these include maatkit, mysqlreport and mysqlsla. I have a new addition to this: statpack ( http://www.markleith.co.uk/?p=21) Some sample output from a statpack run below, its basically mysqlreport on steroids: Uptime: 13 days 19 hours 38 mins Snapshot Period 1: 1 minute interval Variable Delta/Percentage Per Second Total Database Activity Threads Connected: -3 7 Threads Running: 1 3 Questions: 16225 270.42 474675563 Bytes Recieved: 3M...

Narayan Newton

Sharing Webroots

There are few options for sharing webroots among multiple webnodes. This is especially true for Drupal, which has a files directory that could be constantly diverging on each webnode. Usually people decide to go with NFSv3. This is what we do on drupal.org and most of my clients do at Tag1. Sadly, this is not really a decision on merit, but on a lack of other options. NFSv3 is pretty much like communicating with two...

Narayan Newton

Tips & Tricks

I've had the opportunity in the last few days to use quite a few cool little utilities that made my life considerably easier. I've known about most of them for awhile, but discovered some new tools or new uses for old tools and wanted to share two of them. AutoSSH SSH tunneling is a way of life. I can't count how many times I've had to throw one into place because "there was no other...