Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

208
Views
Permisos de Django usando demasiado la base de datos

Comenzamos a investigar nuestra base de datos, ya que es el componente menos escalable de nuestra infraestructura. Revisé la tabla pg_stat_statements de nuestra base de datos Postgresql con la siguiente consulta:

 SELECT userid, calls, total_time, rows, 100.0 * shared_blks_hit / nullif(shared_blks_hit + shared_blks_read, 0) AS hit_percent, query FROM pg_stat_statements ORDER BY total_time DESC LIMIT 5;

Cada vez, la misma consulta es la primera en la lista:

 16386 | 21564 | 4077324.749363 | 1423094 | 99.9960264252721535 | SELECT DISTINCT "auth_user"."id", "auth_user"."password", "auth_user"."last_login", "auth_user"."is_superuser", "auth_user"."username", "auth_user"."first_name", "auth_user"."last_name", "auth_user"."email", "auth_user"."is_staff", "auth_user"."is_active", "auth_user"."date_joined" FROM "auth_user" LEFT OUTER JOIN "auth_user_groups" ON ("auth_user"."id" = "auth_user_groups"."user_id") LEFT OUTER JOIN "auth_group" ON ("auth_user_groups"."group_id" = "auth_group"."id") LEFT OUTER JOIN "auth_group_permissions" ON ("auth_group"."id" = "auth_group_permissions"."group_id") LEFT OUTER JOIN "auth_user_user_permissions" ON ("auth_user"."id" = "auth_user_user_permissions"."user_id") WHERE ("auth_group_permissions"."permission_id" = $1 OR "auth_user_user_permissions"."permission_id" = $2)

Esto suena como una verificación de permisos y, según tengo entendido, se almacena en caché en el nivel de solicitud. Me pregunto si alguien hizo un paquete para almacenarlos en caché en Memcached, por ejemplo, o si encontró una solución para reducir la cantidad de solicitudes realizadas para verificar esos permisos.

Revisé todos los índices y parecen correctos. La solicitud es un poco lenta, principalmente porque tenemos muchos permisos, pero aún así, la cantidad de llamadas es una locura.

over 4 years ago · Santiago Trujillo
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!