Итак, проблему решил. Кому интересно — опишу. В общем, top и atop на хостовой машине (dom0) показывал 99-100% idle cpu, диск использовался на 5%. Внутри вдс (domU) дикие тормоза. Подсказали мне ссылку —
CreditScheduler. xm sched-credit выдал мне weight 86 (86% от 1 ядра). Т.е. на 6 виртуальных ядер приходилось меньше 1 физического. Исправил через
xm sched-credit -d database -c 0
, где database — название вдски. Задал 600, процы нагрузились равномерно. top в dom0 по прежнему сообщает, что хостмашина не нагружена, но прикол в том, что top врет — нагрузка заметна через тормоза консоли небольшие и через xentop, который показывает, сколько процессорного времени кушает каждая вдс. Ну и небольшая оптимизация пары жирных запросов — теперь в вдс запросы исполняются в разы шустрее, и всд имеет честные 6 ядер, которые исполняются на 6 реальных ядрах, а не на 0.86 одного ядра.
Надеюсь, кому-нибудь поможет.