Kolik má instalace Drupalu proměnných?

Při analyzování výkonu jednoho webu mě zajímalo, kolik má proměnných (tzn. obsah tabulky variables + globální pole $conf nastavené v settings.php) a kolik to je přibližně v bajtech.

Použil jsem k tomu modul Devel. Ten sice sám obsahuje „Variable editor“ (velký formulář, kde je možné proměnné přímo upravit). Člověk se tam ale jednoduše nedozví počet proměnných a navíc při pokusu o přístup na tuto stránku jsem dostával PHP memory limit error…

Rychlým řešením je otevřít si v Development bloku „Execute PHP Code“ (mazáci zadávají rovnou URL /devel/php ;-)) a zadat následující kód:

<?php
// Vytiskne počet proměnných
// POZN: lze taky použít obyčejnou drupal_set_message()
dvm(count($GLOBALS['conf']));

// Vytiskne velikost serializovaného paměti v B/KB
// POZN: lze taky použít obyčejnou drupal_set_message()
dvm(format_size(mb_strlen(serialize($GLOBALS['conf']), '8bit')));

// Vytiskne celé pole do rozbalovacího stromu přes knihovnu Krumo
dpm($GLOBALS['conf']);

// Alternativně lze použít
dvm($GLOBALS['conf']);
// nebo
dpr($GLOBALS['conf']);
// Např. pro copy-paste, nebo z důvodů úspory paměti/velikosti HTML
?>

Já „naměřil“ 8297 proměnných, velikost serializovaného pole proměnných byla 695.46 KB.

Kolik jste naměřili vy?

Poznámka: Původně vydáno na mém Drupal.cz blogu: http://www.drupal.cz/blog/wojtha/kolik-ma-instalace-drupalu-promennych