Както можете да видите от заявката, която сте написали, този тип агрегиране във 2.0 изисква да стартирате Map/Reduce. Map/Reduce на MongoDB има някои наказания за производителност, които бяха разгледани на SO преди - основно, освен ако не сте в състояние да паралелизирате в клъстер, вие ще изпълнявате еднонишков javascript чрез Spidermonkey - не е бързо предложение. Индексът, тъй като не сте избирателни, не помага наистина - просто трябва да сканирате целия индекс, както и евентуално документа.
С предстоящото издание на 2.2 (в момента в rc1 към момента на писане на това) все пак имате някои опции. рамка за агрегиране (което е естествено, а не базирано на JS Map/Reduce), въведено във 2.2, има вграден групов оператор и е създаден специално за ускоряване на този вид операции в MongoDB.
Бих препоръчал да опитате 2.2 и да видите дали ефективността ви при групирането се подобрява. Мисля, че ще изглежда така (забележка:не е тествано):
db.alarm.aggregate(
{ $group : {
_id : "$serverName",
count : { $sum : 1 }
}}
);