Рассмотрим ОДЗ:
\(3^x+4>0\) при всех \(x\), а также \(3^{x+1}-1\ne0\). Поэтому \(3^x\ne\frac13\), то есть \(x\ne-1\).
Положим \(t=3^x\), тогда \(t>0\) и \(3^{x+1}=3t\). Получаем:
\[\frac1{t+4}\le\frac2{3t-1}.\]
Перенесём всё в левую часть:
\[\frac1{t+4}-\frac2{3t-1}\le0,\]
\[\frac{3t-1-2(t+4)}{(t+4)(3t-1)}\le0,\]
\[\frac{t-9}{(t+4)(3t-1)}\le0.\]
Так как \(t+4>0\), равносильно:
\[\frac{t-9}{3t-1}\le0.\]
С учётом \(t>0\) методом интервалов получаем:
\[t\in\left(\frac13;9\right].\]
Возвращаемся к \(t=3^x\). Поскольку функция \(3^x\) возрастает,
\[\frac13<3^x\le9\quad\Longleftrightarrow\quad -1<x\le2.\]
Ответ: \(\left(-1;2\right]\).