Solicitação de token de acesso através do OpenStack Keystone muito lenta

Solicitação de token de acesso através do OpenStack Keystone muito lenta

Tenho tentado descobrir por que a solicitação de um token de acesso por meio do OpenStack Keystone é relativamente lenta (o mais baixo é cerca de 400 ms e, em alguns casos, mais de um segundo).

Para entender a causa, usei o OSProfiler e parece que a maior parte do tempo é gasto conversando com o banco de dados. Posso ver o Keystone fazendo cerca de cem chamadas de banco de dados ao solicitar um token. As chamadas individuais ao banco de dados são relativamente rápidas (entre 2 a 6 ms), mas fazer isso vezes 100 pode facilmente resultar em 500 ms de latência apenas nas solicitações do banco de dados.

No momento, o banco de dados é acessado pela rede (há cerca de 0,3 ms nos tempos de ida e volta da rede). O tempo para cada consulta ao banco de dados faz sentido quando se observa a sobrecarga de TCP e MySQL, então não é tão louco.

A principal coisa que me pergunto é se esse é o comportamento esperado. É normal que o Keystone faça tantas consultas para solicitar um token. O cache está ativado e eu sei que o cache está funcionando, pois posso ver o Keystone usando o banco de dados e, ao depurar a biblioteca de cache, ele de fato indica que obtém acessos ao acessar o cache.

No momento, a única opção que vejo é eliminar completamente a rede e mover o banco de dados para a mesma máquina que a API Keystone.

Atualização: isso está em Ussuri usando tokens Fernet

informação relacionada