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

708
Views
¿Cuál es la diferencia entre socket-timeout/http-timeout/harakiri de uWSGI?

Escribí una aplicación WSGI simple (usando Flask) servida por uWSGI (es decir, ningún otro servidor HTTP excepto uWSGI) que solo admite una única ruta PUT mediante la cual los clientes pueden cargar un archivo (potencialmente ~ 400 MB de tamaño), procesarlo en el servidor y luego enviado de vuelta.

En los registros de uWSGI, noté dos tipos de errores de tiempo de espera después de un tiempo. Por lo general, es un tiempo de espera al enviar la respuesta:

 Feb 02 20:46:30 myserv uwsgi[18948]: uwsgi_response_sendfile_do() TIMEOUT !!! Feb 02 20:46:30 myserv uwsgi[18948]: OSError: write error Feb 02 20:46:30 myserv uwsgi[18948]: [pid: 18954|app: 0|req: 1795/3935] aa.bb.cc.dd () {32 vars in 455 bytes} [Fri Feb 2 20:46:06 2018] PUT /sample.exe => generated 0 bytes in 24314 msecs via sendfile() (HTTP/1.1 200) 6 headers in 258 bytes (3353 switches on core 0)

A veces, sin embargo, también es un tiempo de espera cuando se recibe una solicitud PUT:

 Feb 03 20:18:32 signserv uwsgi[18948]: [pid: 18953|app: 0|req: 2975/5670] aa.bb.cc.dd () {32 vars in 455 bytes} [Sat Feb 3 20:18:02 2018] PUT /samplefile.exe => generated 0 bytes in 29499 msecs via sendfile() (HTTP/1.1 200) 6 headers in 258 bytes (2930 switches on core 0) Feb 03 20:20:30 signserv uwsgi[18948]: [uwsgi-body-read] Timeout reading 16384 bytes. Content-Length: 354414781 consumed: 0 left: 354414781

Algunas depuraciones sugieren que esto suele ocurrir con clientes que son muy lentos (es decir, que tienen una carga elevada).

Me gustaría aliviar esto aumentando algunos tiempos de espera, pero uWSGI parece admitir una gran cantidad de tiempos de espera y no tengo claro cuáles de ellos son relevantes aquí. Identifiqué tres tiempos de espera que parecen querer aumentarlos, pero tengo problemas para encontrar documentación sobre cómo difieren:

  • socket-timeout
  • http-timeout
  • harakiri

¿Alguien puede arrojar algo de luz sobre lo que afectan estos tiempos de espera, cuáles son sus valores predeterminados y cuáles (si corresponde) de ellos deben ajustarse para evitar los problemas mencionados anteriormente?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

En términos simples, el harakiri es el tiempo de espera de uWSGI y el tiempo de espera de http o el tiempo de espera del socket es un tiempo de espera del servidor proxy/equilibrador.

Cuando estos parámetros difieren, puede haber confusión en los registros.

over 4 years ago · Santiago Trujillo Report
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!