La práctica del pensamiento de optimización del sistema simple

Autor: Yan Xiaonan, JD Logística

1. Problemas

A mediados del año pasado, un buen amigo mío (puedes llamarlo Hua Ge) inició un negocio con pasión a pesar de la grave situación epidémica en ese momento, gastó una gran suma de dinero para contratar varios puestos en la cafetería de su empresa original, y de repente se convirtió en el jefe. Hua Ge, quien se convirtió en el jefe, no se aflojó en lo más mínimo. No solo hizo suficiente investigación de mercado, sino que también hizo innovaciones basadas en sus propios puntos débiles al comer en el pasado. Las verduras salteadas se venden en porciones, aproximadamente una docena de yuanes por un plato de carne y casi diez yuanes por un plato vegetariano, lo que genera un problema. Generalmente, los niños solo pueden comer 2-3 platos después de gastar decenas de dólares. La nutrición no es lo suficientemente rica. Si pisas Si te encuentras con una situación en la que tienes grandes expectativas pero descubres que la comida real no es deliciosa, la experiencia será aún peor.

Por lo tanto, el hermano Hua tomó prestadas las características del modo de pesaje opcional de Malatang en el mercado y lanzó un modo de autoselección y pesaje. Habrá muchos tipos de platos preparados (carne y verduras) en la mesa del comedor, y todos pueden elegir según sus propias preferencias. Puede pedir su propia comida. El alimento básico de arroz y bollos al vapor es gratis, las gachas y la sopa también son gratis, y luego se proporcionan algunos alimentos básicos como batatas y maíz por una tarifa. Alimento básico, luego elija sopa y avena, y luego pague y deslice la tarjeta, como se muestra en la imagen a continuación:

Hua Ge es digno de ser el gerente de producto de la medalla de oro del antiguo gigante de Internet. Comprendió profundamente los puntos débiles de los usuarios y brindó muy bien las soluciones correspondientes. El modo de pesaje de autoservicio ha sido muy bien recibido por los colegas desde su lanzamiento. , Allí siempre hay una larga cola, incluso cuando la comida comienza a las 11:30 del mediodía, muchos colegas están esperando en la fila antes de las 11:20, quiero darles un ejemplo intuitivo de una larga cola mientras escribo aquí Impresión, el primer ejemplo Pensé en la larga cola en la entrada de la pastelería de azufaifo en Wudaokou. Más tarde, cuando pensé en ello, la fila de ollas de barro en el restaurante en el cuarto piso del Bloque B, No. 2 Edificio Jingdong me pareció más apropiada. .

El hermano Hua estaba muy contento al principio, pero un mes después, hizo un inventario de los ingresos y descubrió que algo andaba mal, aunque parecía que la fila era larga y llena, los ingresos reales no fueron los esperados. El hermano Hua analizó y descartó los factores del precio bajo del pedido. En el modo de autoselección, hay muchos platos que todos quieren ordenar después de verlos. Después de ir y venir, harán un plato grande. Básicamente, el precio del pedido comienza en 20 yuanes; y luego solo quedan pedidos. La posibilidad de una cantidad baja es una posibilidad. Después del análisis real, se puede encontrar que debido a que hay muchas variedades de platos para elegir, toma mucho tiempo para cada persona. para elegir los platos en el proceso de selección de verduras. Además, es necesario preparar la sopa y el arroz. Lleva mucho tiempo completar todo el proceso de recoger las comidas. Aunque los compañeros de atrás pueden pedir platos en serie detrás de los compañeros de delante, pero debido a que todos tienen preferencias diferentes, el tiempo de permanencia de cada uno frente a diferentes platos es diferente. Esto lleva al hecho de que cuando los colegas de adelante demoran un poco más frente a un determinado plato, los colegas de atrás están en un estado de espera.

Y a veces habrá algunas situaciones extremas, por ejemplo, algunos colegas se quedarán frente a algunos de sus platos favoritos durante mucho tiempo para elegir, y algunos colegas alternarán en el sentido de las agujas del reloj y en el sentido contrario a las agujas del reloj mientras piden sopa gratis Revolviendo frenéticamente en un intento para recoger las hojas de vegetales esparcidas y las claras de huevo en la sopa, el hermano Hua fue testigo con sus propios ojos de que el gerente al que le había informado antes daba vueltas y vueltas en el tazón de vegetales con pollo con chile buscando los escondidos escondidos en las profundidades de la pimienta. Un poco de pollo, cada vez que se encuentra un trozo de pollo, el gerente mostrará una sonrisa de satisfacción en su rostro. De hecho, cuando el gerente está recogiendo pollo, todo el equipo está en un estado de completo estancamiento. por lo tanto, mirando el desempeño de todo el equipo, la ejecución del proceso de comedor es muy lenta, lo que lleva al hecho de que la cantidad de personas que realmente pagan por la comida no es tanta como se esperaba.

dos, el programa

Más tarde, en una reunión de amigos, el hermano Hua conversó conmigo sobre este asunto y me preguntó: ¿No se jactan todos ustedes, los tecnólogos, de la optimización del sistema, la reducción de costos y el aumento de la eficiencia? Por favor, ayúdenme a encontrar una manera. Después de escuchar la solicitud ligeramente provocativa del hermano Hua, de repente sentí un gran sentido de responsabilidad en mí mismo y sentí que tenía que mantener la dignidad de una persona técnica. Así que lo pensé por un tiempo, y luego sentí que este problema comercial en realidad se puede considerar como un problema técnico. La mesa del comedor se puede considerar como un sistema, y ​​el proceso de pedir comidas se puede considerar como un proceso interactivo de El sistema Puede considerarse como una llamada, porque el rendimiento de cada llamada es demasiado bajo, lo que resulta en un rendimiento demasiado bajo del sistema en su conjunto, lo que afecta el rendimiento de todo el sistema, por lo que el rendimiento de todo el sistema es muy bajo, aunque se ha bebido durante tres rondas en ese momento, mi mente no está tan clara, pero todavía hago todo lo posible para pensar en varias formas para el hermano Hua.

2.1 Expansión del sistema

La primera solución que viene a la mente es la expansión. En el campo de la tecnología de ingeniería, cuando el rendimiento del sistema no está a la altura, la primera solución que viene a la mente es generalmente la expansión. La expansión de la capacidad en el campo de la ingeniería generalmente se puede dividir en vertical expansión y expansión horizontal Método: La expansión vertical consiste en aumentar la capacidad de procesamiento de una sola instancia al mejorar la capacidad de hardware de una sola instancia, y la expansión horizontal consiste en aumentar la capacidad de procesamiento de todo el sistema al agregar nodos de instancia.

Aplicando estas dos teorías, veamos cómo mejorar el rendimiento de la mesa del comedor. Parece que la expansión vertical no puede hacer mucho. No se puede convertir la cuchara de cocina en una cuchara chapada en oro importada de Alemania; No hay nada bueno manera de expandirse verticalmente, pero la expansión horizontal parece poder hacer muchas cosas, siempre que se agreguen algunos juegos más de mesas de cocción, de modo que los 2 equipos de cocción ejecutados en paralelo puedan convertirse en 4, o incluso 8, directamente El subproceso múltiple realizado es concurrente, por lo que el rendimiento general del sistema se puede duplicar de inmediato. El efecto no solo es efectivo, sino también inmediato. Así que dibujé un diagrama esquemático de expansión horizontal, como se muestra en la siguiente figura:

Sin embargo, el plan de expansión horizontal fue rápidamente rechazado por Brother Hua. Aunque en el campo de la tecnología de ingeniería, con la madurez de la tecnología nativa de la nube, la expansión y contracción a nivel de aplicación son soluciones muy maduras para mejorar las capacidades de procesamiento del sistema, pero aquí, es Es imposible que el hermano Hua instale otra mesa de comedor, sin mencionar que el stand contratado por el hermano Hua no tiene un espacio tan grande para instalar una segunda mesa de comedor, casi imposible.

Aunque los problemas de este mundo que se pueden resolver con dinero no se llaman problemas, el problema ahora es que el hermano Hua no tiene dinero.

2.2 Optimización de ejecución única

Si la forma de mejorar la concurrencia del sistema falla, la forma de mejorar el rendimiento del sistema es acortar el tiempo de procesamiento y ejecución de una sola solicitud, de modo que aumente la cantidad de solicitudes procesadas por el sistema por unidad de tiempo, mejorando así el rendimiento del sistema. se trata de la mesa del comedor, se hace necesario acortar el tiempo para que una persona ordene una comida, especialmente cuando el ex gerente de Hua Ge pasa mucho tiempo frente a un solo plato, ¿cómo optimizarlo?

Dividamos cada llamada, y el proceso de hacer vegetales frente a cada plato se puede simular y entender como la ejecución de una pieza de lógica, de modo que todo el proceso de hacer vegetales se puede desarmar en pequeños bloques de código, y el tiempo total de llamada es Está determinado por la suma del tiempo de ejecución de estos bloques de código. Desde la perspectiva de la tecnología de ingeniería, es para garantizar que cada parte de la lógica se complete en un tiempo predecible, de modo que cada parte de la lógica pueda controlar la ejecución de cada parte. de código a través de una lógica de juicio de tiempo de espera. Tiempo, aquí hay un ejemplo de búsqueda de Baidu. Para mejorar la diversidad de resultados devueltos, Baidu lanzó la arquitectura Aladdin. Después de que el modelo de mapa de estrellas analice cada consulta, se distribuirá a diferentes categorías verticales. Cada categoría vertical se procesará y producirá. Tarjetas en su propio campo comercial, y luego la aplicación raíz de Aladdin agrega los resultados devueltos por categorías verticales y los devuelve al usuario. La ejecución de ciertas categorías verticales será más lenta. Para Por ejemplo, cuando un usuario busca un medicamento, la vertical de salud. Dichas aplicaciones filtrarán las farmacias o2o cercanas en función de la longitud y la latitud del buscador, y calcularán el precio de descuento promocional del medicamento en la tienda. Este cálculo suele llevar mucho tiempo. , por lo que la aplicación raíz agregará un juicio de tiempo de espera de 380 ms. Para todas las aplicaciones verticales son las mismas. Cuando el contenido que devuelva exceda este tiempo, el resultado se descartará. Deje que este ejemplo permita que todos entiendan que al aumentar la configuración de tiempo de espera para cada enlace, esto puede garantizar que el proceso general sea controlable. Se ejecuta dentro del marco de tiempo, lo que garantiza la consistencia de la experiencia del usuario.

El tiempo de espera en el programa es fácil de aumentar, porque el programa no tiene emociones, pero la escena de pedir comidas es diferente.Es imposible colocar un camarero detrás de cada plato para contar 123 atrasado y empujarlo hacia adelante después de más de 5 segundos. Esto no se puede hacer. Bueno, la razón es que pedir platos es subjetivo y activo. Puede detenerse todo el tiempo que quiera antes de un plato. Después de pensar en este problema, tengo una idea para privar a los usuarios del derecho a mantenerse independiente y crear un tiempo de permanencia unificado. Así que diseñé un dispositivo de tiempo de espera para el hermano Hua, que consiste en agregar un conjunto de transportadores automáticos en ambos lados de la mesa del comedor, similar a la cinta transportadora en el aeropuerto a la terminal después de la seguridad verifique, de modo que cuando las personas pidan comida en ambos lados, no haya necesidad de caminar solo, y todos permanezcan frente a cada plato durante la misma cantidad de tiempo, por lo que no habrá problema de que una persona se quede frente a un determinado plato durante demasiado tiempo, y también evita el problema de que la mesa del comedor es causada por el largo tiempo de alguien frente a usted.El problema del estancamiento general debido al retraso ha mejorado el rendimiento de la mesa del comedor, y el La adición de la cinta transportadora tiene la ventaja de que puede conducir muy lentamente o incluso detenerse cuando no hay muchas personas, y la velocidad de la cinta transportadora se puede aumentar adecuadamente durante el período pico Controle el tiempo para que cada persona ordene comida para garantizar la tasa de rendimiento de toda la mesa de comedor.

El hermano Hua quedó atónito durante mucho tiempo después de escuchar mi idea genial. Después de calcular la posibilidad, sintió que este método es realmente factible. Solo necesita esperar hasta el Día Nacional o el feriado del 1 de mayo para comenzar la construcción y agregar cintas transportadoras en ambos. lados Finalmente, escuchó al hermano Hua, que tenía un plan factible, estaba un poco emocionado y sus mejillas también estaban ligeramente sonrojadas.

2.3 Eliminación de procesos no centrales

Al ver que el hermano Hua aceptó mi plan, inmediatamente sentí mucho ánimo, así que continué pensando en cómo optimizar este proceso. En el campo de la tecnología de la ingeniería, un proceso todavía se puede hacer cuando está sujeto a una gran cantidad de tráfico La cuestión es simplificar el proceso, mantener solo los enlaces del proceso central, que a menudo se denomina proceso dorado, y eliminar los nodos comerciales no centrales del proceso principal, de modo que el proceso principal optimizado pueda acortar el tiempo de ejecución para hasta cierto punto, y el proceso principal La lógica de ejecución del proceso es menor, y la probabilidad de error también se reduce Tomando el proceso de cálculo de pedidos de JD Retail como ejemplo, se deben hacer las siguientes cosas cuando el lado minorista se asienta:

De hecho, todavía hay muchos nodos no principales con los que lidiar en la liquidación, como la eliminación de artículos liquidados relacionados en el carrito de compras, gabinetes de auto-recogida preocupados, etc., pero estos son procesos no centrales y pueden ser eliminado del proceso principal.

Volviendo a la mesa del comedor, ¿qué proceso es el proceso dorado? Sí, son aquellos procesos que están directamente relacionados con los ingresos, y aquellos artículos que no generan ingresos, como el arroz, los bollos al vapor, la sopa y las gachas, pueden considerarse como procesos no principales. Se elimina del proceso principal, lo que simplifica continuamente el proceso principal de tomar comidas para todos, y también ahorra espacio en el restaurante. El espacio restante se puede usar para varias cosas. Una es poner más alimentos básicos o agregar algunos platos. De esta manera, se pueden aumentar los ingresos. El segundo es agregar algunos equipos de caja registradora de autoservicio. Los dos mostradores de caja registradora anteriores pueden satisfacer la demanda cuando ordenar comidas era lento, pero ahora todo el proceso se simplifica, y la velocidad general de ordenar comidas para todos ha aumentado. De esta manera, Dos cajas registradoras se convertirán en un nuevo cuello de botella, especialmente cuando se encuentren con estudiantes que tienen pago directo escaneando el código, el cuello de botella será más obvio. De esta manera , al aumentar el número de cajas registradoras, se mejora la capacidad de procesamiento concurrente de la caja registradora, asegurando que todo el proceso de tomar comidas sea fluido, evitando la aparición de nuevos cuellos de botella en el rendimiento, ¡perfecto!

El hermano Hua quedó muy satisfecho después de escuchar esta sugerencia. Sintió que la mesa del comedor era demasiado pequeña y no había suficientes platos. De esta manera, el espacio se usaba más razonablemente para alimentos que podrían generar ganancias. Fue exactamente lo que el hermano Hua querido Hermano Hua Muy feliz de respetarme.

2.4 Caché distribuida

Además, un arma mágica muy importante para que Internet aumente el rendimiento del sistema y acorte el tiempo de ejecución único es usar la tecnología de almacenamiento en caché distribuido.La tecnología de almacenamiento en caché distribuido puede acortar en gran medida el tiempo de adquisición de datos para muchas llamadas con cuellos de botella en el sistema.Para acortar el tiempo de procesamiento , ¿la tecnología de almacenamiento en caché distribuido también se puede usar en la mesa del comedor aquí?

Lo pensé. Los alimentos básicos gratuitos, la sopa y las gachas que se eliminaron del proceso principal anteriormente pueden usar el principio de almacenamiento en caché, especialmente el principio de almacenamiento en caché de CDN, para distribuir los alimentos básicos, la sopa y las gachas cerca de la mesa del comedor de los colegas. . , para que los colegas que comen puedan servir alimentos básicos y sopa y gachas en el rango más cercano. En la superficie, no hay un aumento en los ingresos, pero de hecho, uno es que la experiencia gastronómica de todos es mejor, y el segundo es que todos come mas La comida es conveniente y el tiempo para comer se reducirá, mejorando así la tasa de utilización de la mesa de comedor. Asegúrese de que el próximo colega que reciba una comida pueda encontrar un asiento rápidamente, y la experiencia también mejorará. No dibujaré ningún cuadro aquí, creo que todos pueden entender.

3. Posdata

El hermano Hua bajó la cabeza y se sumió en una profunda reflexión después de escuchar mi plan de optimización en su conjunto. Después de mucho tiempo, levantó la cabeza y me miró, sus ojos estaban un poco borrosos. Estaba un poco nervioso, pensando que él quería comentar sistemáticamente sobre mi plan. El mío es, qué hora es ahora, y me di cuenta de que el hermano Hua simplemente bebió demasiado y se quedó dormido con la cabeza gacha.

{{o.nombre}}
{{m.nombre}}

Supongo que te gusta

Origin my.oschina.net/u/4090830/blog/8586941
Recomendado
Clasificación