Consejos de optimización de rendimiento

Así que moví mi servidor a otro hosting más potente a través de una instalación limpia y restauración desde una copia de seguridad. ¡Sí, ahora es mucho más rápido! Pero hay algún cuello de botella en la función de “Me gusta”. Tarda 23 segundos en crear un “Me gusta”.

Ejecutando acción: crear
T+229.3 ms
Lector
23169.7 ms

app/models/topic_user.rb:463:in `update_post_action_cache'
app/models/post_action.rb:232:in `update_counters'
lib/post_action_creator.rb:268:in `create_post_action'
lib/post_action_creator.rb:112:in `perform'
app/controllers/post_actions_controller.rb:22:in `create'
app/controllers/application_controller.rb:415:in `block in with_resolved_locale'
app/controllers/application_controller.rb:415:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:368:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:202:in `call'
UPDATE topic_users tu
SET liked = x.state
FROM (
  SELECT CASE WHEN EXISTS (
    SELECT 1
    FROM post_actions pa
    JOIN posts p on p.id = pa.post_id
    JOIN topics t ON t.id = p.topic_id
    WHERE pa.deleted_at IS NULL AND
          p.deleted_at IS NULL AND
          t.deleted_at IS NULL AND
          pa.post_action_type_id = 2 AND
          tu2.topic_id = t.id AND
          tu2.user_id = pa.user_id
    LIMIT 1
  ) THEN true ELSE false END state, tu2.topic_id, tu2.user_id
  FROM topic_users tu2
  WHERE (tu2.user_id IN (1)) AND (tu2.topic_id IN (127680))
) x
WHERE x.topic_id = tu.topic_id AND x.user_id = tu.user_id AND x.state != tu.liked
;

¿Necesito más tiempo para asentar la base de datos y reindexar o hay un problema?