Cómo evitar el alto consumo de CPU de Disqus

Cpu 100 uso windows 10

A primera vista, la primera impresión es que un framework web es lento porque hay un montón de código innecesario que no es necesario para su aplicación, y esa es una impresión válida. En la práctica, la lentitud no suele ser producto de la hinchazón de tu framework o de la elección del lenguaje. La lentitud es probablemente el resultado del hecho de que su solicitud se está comunicando con otros servicios a través de su red. En nuestro caso, estos otros servicios son PostgreSQL, Redis, Cassandra y Memcached, por nombrar algunos. Las consultas lentas a la base de datos y la latencia de la red generalmente superan la sobrecarga de rendimiento de un marco robusto como Django.

Si estás familiarizado con Django, este debería ser un patrón bastante familiar. Esta forma de almacenamiento en caché es simple y directa, y funciona muy bien para la mayoría de las cosas. Emparejado con Memcached, las cosas son lo suficientemente rápidas, pero todavía hay mucho trabajo por hacer para servir una petición.

Hemos almacenado en caché nuestras cosas “lentas”. Todavía hay un montón de trabajo innecesario que debe hacerse a un ritmo de 45 mil veces por segundo. Probablemente estamos renderizando algún JSON, o renderizando una plantilla HTML, o simplemente parseando HTML y ejecutando nuestro middleware Django. El punto es, queremos ser capaces de cortocircuitar todo este trabajo, y dejar que Django haga lo que mejor sabe hacer: servir sólo datos únicos.

  Cómo añadir un mini carrito (gratis) a tu tienda online WooCommerce

Uso elevado de la cpu del sistema

Mientras la pestaña está seleccionada, estoy viendo un alto uso de CPU en Firefox en algunas páginas web… como si un hilo permaneciera activo y el proceso nunca se completara. Cuando desactivo CanvasBlocker en about:addons y vuelvo a seleccionar la pestaña, la carga de CPU de Firefox para la página ha vuelto a su estado normal de inactividad.

Uso ublock origin y umatrix, ¿hay alguna regla o algo que deba añadir para evitar que esto ocurra? Deshabilitar CB hace que mi cpu esté inactiva normalmente, pero sólo tengo como 70 notificaciones de ublock+umatrix+disconnect combinadas. No estoy seguro de cuáles eran las otras páginas que terminaron congelando Firefox y no puedo pensar en ningún otro complemento que pudiera estar interfiriendo.

Alguien en un foro tenía una vieja caja de Windows XP que tuvo que desactivar CanvasBlocker en ya que causó sitios web como Amazon para convertirse entrecortado como otros han mencionado y que todos así que tuvo que desactivarlo en un cuadro de skylake Linux más moderno como 60fps medios de comunicación en Youtube se entrecortan, pero estaba perfectamente bien cuando CanvasBlocker fue desactivado por lo que algo está causando una sobrecarga alta o de E / S de sondeo que no siempre es práctico utilizar?

I5 9600k 100% uso cpu

Nuestro último artículo sobre Disqus: How Disqus Went Realtime With 165K Messages Per Second And Less Than .2 Seconds Latency, estaba un poco desactualizado, pero la gente de Disqus ha estado ocupada implementando, no hablando, así que no sabemos mucho sobre lo que están haciendo ahora, pero tenemos una breve actualización en C1MM y NGINX por John Watson y un artículo Trying out this Go thing.

  Límite de palabras en WordPress y cómo solucionarlo

Interesante el comentario, “Go no accede directamente a la base de datos. Consume una cola de RabbitMQ y publica en los frontends de Nginx”, pero me cuesta imaginar qué está pasando exactamente. ¿Sería posible explicarlo un poco más?

Richard: La charla vinculada es probablemente su mejor apuesta para más detalles, pero creo que la idea es que el sistema en tiempo real de Disqus recibe un nuevo comentario a través de RabbitMQ y envía notificaciones a través de nginx – no mantiene el estado a largo plazo como una base de datos. Dado que estamos hablando, esencialmente, el sistema de notificación aquí, que tiene algún sentido.

Me pregunto si han intentado usar pypy. En mi experiencia Python con pypy es tan rápido como Go.PyPyPyPy es una implementación alternativa rápida y compatible del lenguaje Python (2.7.9 y 3.2.5). Tiene varias ventajas y características distintivas

Discordia uso de la cpu

El cliente ha aumentado el tamaño de la máquina varias veces, intentando acomodar la carga, pero la situación no mejoraba. De hecho, la situación parecía estar empeorando. Esto es en un servidor que ejecuta Windows 2016, y todos los nodos en el clúster experimentaría este comportamiento, efectivamente tomar el sistema hacia abajo. No lo hicieron en un horario sincronizado, pero uno entraría en una alta carga de CPU, y los clientes fallarían a los otros nodos, que generalmente (pero no siempre) desencadenará la situación. Después de un corto tiempo, volvería a bajar a tasas normales, pero obviamente no era una buena situación.

  Cómo añadir un nuevo país en WooCommerce

Lo que ves aquí es el Delta de Fallo de Página, básicamente, cuántos fallos de página ocurrieron en el sistema en el último segundo para este proceso. Un número alto en esta columna es cuando ves cientos de fallos de página. Miles de fallos de página normalmente significa que estás intercambiando mal. ¿Cientos de miles? Nunca he visto un escenario así y no puedo imaginar lo que realmente es.