Die Praxis des einfachen Systemoptimierungsdenkens

Autor: Yan Xiaonan, JD Logistics

1. Probleme

Mitte letzten Jahres hat ein guter Freund von mir (man kann ihn Hua Ge nennen) trotz der ernsten Seuchenlage zu dieser Zeit mit Leidenschaft ein Geschäft aufgebaut und eine riesige Summe Geld ausgegeben, um mehrere Stände in seiner Cafeteria unter Vertrag zu nehmen ursprünglichen Firma und wurde plötzlich der Chef. Hua Ge, der zum Chef wurde, ließ nicht im Geringsten nach, er hat nicht nur genügend Marktforschung betrieben, sondern auch Innovationen aus seinen eigenen Schmerzpunkten beim Essen in der Vergangenheit gemacht: Gebratenes Gemüse wird in Portionen verkauft, etwa ein Dutzend Yuan für ein Fleischgericht und fast zehn Yuan für ein vegetarisches Gericht, was zu einem Problem führt. Im Allgemeinen können Jungen nur 2-3 Gerichte essen, nachdem sie Dutzende von Dollar ausgegeben haben. Die Ernährung ist nicht reichhaltig genug. Wenn Sie weitermachen die Grube und stoßen auf eine Situation, in der Sie hohe Erwartungen haben, aber feststellen, dass das eigentliche Essen nicht köstlich ist, wird die Erfahrung noch schlimmer sein.

Daher hat Bruder Hua die Eigenschaften des optionalen Wiegemodus von Malatang auf dem Markt ausgeliehen und einen Selbstauswahl- und Wiegemodus eingeführt.Es wird viele Arten von Fertiggerichten (sowohl Fleisch als auch Gemüse) auf dem Esstisch geben, und jeder können nach ihren eigenen Vorlieben wählen. Sie können Ihr Essen selbst bestellen. Die Grundnahrungsmittel Reis und Dampfbrötchen sind kostenlos, Porridge und Suppe sind ebenfalls kostenlos, und dann werden einige Grundnahrungsmittel wie Süßkartoffeln und Mais gegen Gebühr angeboten. Grundnahrungsmittel, wählen Sie dann Suppe und Haferbrei, gehen Sie zur Kasse und ziehen Sie die Karte durch, wie im Bild unten gezeigt:

Hua Ge ist es wert, der Goldmedaillen-Produktmanager des ehemaligen Internetgiganten zu sein. Er hat die Schmerzpunkte der Benutzer scharf erfasst und sehr gut entsprechende Lösungen gegeben. Der Selbstbedienungs-Wiegemodus wird seit seiner Einführung von den Kollegen sehr begrüßt. , Dort jedes Mal eine lange Warteschlange ist, selbst wenn das Essen um 11:30 Uhr beginnt, viele Kollegen vor 11:20 Uhr in der Schlange stehen, möchte ich Ihnen ein intuitives Beispiel für eine lange Warteschlange geben, während ich hier Impression schreibe, das erste Beispiel Ich dachte an die lange Schlange am Eingang des Jujube-Konditoreiladens in Wudaokou, später, als ich darüber nachdachte, schien mir die Reihe von Crock Pots im Restaurant im 4. Stock von Block B, Nr. 2, Jingdong-Gebäude, angemessener .

Bruder Hua war anfangs sehr glücklich, aber einen Monat später machte er eine Bestandsaufnahme der Einnahmen und stellte fest, dass etwas nicht stimmte: Obwohl die Schlange lang und voll zu sein schien, waren die tatsächlichen Einnahmen nicht wie erwartet. Bruder Hua analysierte und schloss die Faktoren des niedrigen Bestellpreises aus. Im Selbstauswahlmodus gibt es viele Gerichte, die jeder bestellen möchte, nachdem er sie gesehen hat. Nach dem Kommen und Gehen werden sie einen großen Teller machen. Im Grunde der Bestellpreis beginnt bei 20 Yuan; und dann sind nur noch Bestellungen übrig. Die Möglichkeit einer geringen Menge ist eine Möglichkeit. Nach einer tatsächlichen Analyse kann festgestellt werden, dass es aufgrund der großen Auswahl an Gerichten für jede Person lange dauert Gerichte in der Gemüseauswahl auszuwählen. Außerdem müssen Suppe und Reis zubereitet werden. Es dauert lange, bis der gesamte Prozess des Abholens von Speisen abgeschlossen ist. Die Kollegen dahinter können zwar Gerichte hinter den Kollegen vorn seriell bestellen, aber weil jeder andere vorlieben hat, ist auch die verweilzeit vor verschiedenen gerichten unterschiedlich, was dazu führt, dass wenn die kollegen vorn etwas länger vor einem bestimmten gericht brauchen, die kollegen dahinter in einem wartenden zustand sind.

Und manchmal gibt es einige Extremsituationen, zum Beispiel, einige Kollegen bleiben lange vor einigen seiner Lieblingsgerichte stehen, um sie auszuwählen, und einige Kollegen wechseln sich im Uhrzeigersinn und gegen den Uhrzeigersinn ab, während sie kostenlose Suppe bestellen und versuchen, hektisch umzurühren um die verstreuten Gemüseblätter und das Eiweiß in der Suppe aufzuheben, sah Bruder Hua mit eigenen Augen, dass der Manager, dem er zuvor Bericht erstattet hatte, in der Chili-Huhn-Gemüseschale immer wieder herumblätterte und nach den versteckten in den Tiefen der Suppe suchte Pfeffer. Ein bisschen Hühnchen, jedes Mal, wenn ein Stück Hähnchen gefunden wird, zeigt der Manager ein zufriedenes Lächeln auf seinem Gesicht. Tatsächlich befindet sich das gesamte Team in einem Zustand völliger Stagnation, wenn der Manager Hähnchen auswählt. Wenn man sich also die Leistung des gesamten Teams ansieht, ist die Ausführung des Speisevorgangs sehr langsam, was dazu führt, dass die Anzahl der Personen, die tatsächlich für das Essen bezahlen, nicht so hoch ist wie erwartet.

Zweitens das Programm

Später, bei einem Treffen von Freunden, unterhielt sich Bruder Hua mit mir über diese Angelegenheit und fragte mich: Prahlen Sie nicht alle Technologen mit Systemoptimierung, Kostensenkung und Effizienzsteigerung, bitte helfen Sie mir, einen Weg zu finden. Nachdem ich der leicht provokanten Bitte von Bruder Hua zugehört hatte, fühlte ich plötzlich ein starkes Verantwortungsgefühl in mir und hatte das Gefühl, dass ich die Würde einer technisch versierten Person wahren musste. Also habe ich eine Weile darüber nachgedacht, und dann hatte ich das Gefühl, dass dieses Geschäftsproblem eigentlich als technisches Problem betrachtet werden kann: Der Esstisch kann als System betrachtet werden, und der Prozess der Essensbestellung kann als interaktiver Prozess betrachtet werden Es kann als Anruf betrachtet werden, da die Leistung jedes Anrufs zu schlecht ist, was zu einem zu geringen Durchsatz des Systems als Ganzes führt, was die Leistung des Gesamtsystems beeinträchtigt, so dass die Leistung des gesamten Systems sehr hoch ist niedrig, obwohl es zu diesem Zeitpunkt drei Runden lang getrunken wurde, ist mein Verstand nicht so klar, aber ich versuche immer noch mein Bestes, um an mehrere Möglichkeiten für Bruder Hua zu denken.

2.1 Systemerweiterung

Die erste Lösung, die einem in den Sinn kommt, ist die Erweiterung.Wenn die Systemleistung im Bereich der Maschinenbautechnik nicht dem Standard entspricht, ist die erste Lösung, die einem in den Sinn kommt, im Allgemeinen die Erweiterung.Die Kapazitätserweiterung im Maschinenbaubereich kann im Allgemeinen in Vertikale unterteilt werden Erweiterung und horizontale Erweiterung Methode: Die vertikale Erweiterung dient der Erhöhung der Verarbeitungskapazität einer einzelnen Instanz durch Verbesserung der Hardwarefähigkeit einer einzelnen Instanz, und die horizontale Erweiterung dient der Erhöhung der Verarbeitungskapazität des gesamten Systems durch Hinzufügen von Instanzknoten.

Lassen Sie uns anhand dieser beiden Theorien sehen, wie Sie den Durchsatz des Esstisches verbessern können. Es scheint, dass eine vertikale Ausdehnung nicht viel bewirken kann. Sie können den Kochlöffel nicht zu einem aus Deutschland importierten vergoldeten Löffel aufrüsten; es gibt nichts Gutes Möglichkeit, vertikal zu erweitern, aber die horizontale Erweiterung scheint einiges zu können, solange noch ein paar Sätze Kochtische hinzugefügt werden, sodass aus den 2 parallel ausgeführten Kochteams direkt 4 oder sogar 8 werden können Realisiertes Multi-Threading ist simultan, sodass der Gesamtdurchsatz des Systems sofort verdoppelt werden kann. Der Effekt ist nicht nur effektiv, sondern auch unmittelbar. Also habe ich ein schematisches Diagramm der horizontalen Erweiterung gezeichnet, wie in der folgenden Abbildung gezeigt:

Der horizontale Expansionsplan wurde jedoch schnell von Brother Hua abgelehnt.Obwohl im Bereich der Engineering-Technologie mit der Reife der Cloud-nativen Technologie, Erweiterung und Kontraktion auf Anwendungsebene sehr ausgereifte Lösungen zur Verbesserung der Systemverarbeitungsfähigkeiten sind, aber hier ist es Es ist für Bruder Hua unmöglich, einen weiteren Esstisch aufzustellen, ganz zu schweigen davon, dass der Stand, den Bruder Hua unter Vertrag genommen hat, nicht so viel Platz hat, um einen zweiten Esstisch aufzustellen.

Obwohl die Probleme in dieser Welt, die mit Geld gelöst werden können, nicht als Probleme bezeichnet werden, besteht das Problem jetzt darin, dass Bruder Hua kein Geld hat.

2.2 Einzelausführungsoptimierung

Wenn der Weg zur Verbesserung der Systemparallelität fehlschlägt, besteht der Weg zur Verbesserung des Systemdurchsatzes darin, die Verarbeitungs- und Ausführungszeit einer einzelnen Anforderung zu verkürzen, sodass die Anzahl der vom System pro Zeiteinheit verarbeiteten Anforderungen zunimmt, wodurch der Systemdurchsatz verbessert wird Wenn es um den Esstisch geht, wird es notwendig, die Zeit zu verkürzen, in der eine Person eine Mahlzeit bestellt, insbesondere wenn der ehemalige Manager von Hua Ge viel Zeit vor einem einzigen Gericht verbringt. Wie kann man das optimieren?

Lassen Sie uns jeden Anruf aufteilen, und der Prozess der Gemüsezubereitung vor jedem Gericht kann simuliert und als Ausführung eines Stücks Logik verstanden werden, sodass der gesamte Prozess der Gemüsezubereitung in kleine Codeblöcke zerlegt werden kann und die gesamte Anrufzeit beträgt Sie wird durch die Summe der Ausführungszeit dieser Codeblöcke bestimmt.Aus ingenieurtechnischer Sicht soll sichergestellt werden, dass jedes Logikstückinnerhalb einer vorhersagbaren Zeit fertig ist, sodass jedes Logikstück dieAusführung jedes einzelnen Stücks steuern kann von Code durch eine Timeout-Beurteilungslogik. Zeit, hier ist ein Beispiel für die Baidu-Suche. Um die Vielfalt der zurückgegebenen Ergebnisse zu verbessern, hat Baidu die Aladdin-Architektur eingeführt. Nachdem jede Abfrage vom Sternenkartenmodell analysiert wurde, wird sie an verteilt verschiedene vertikale Kategorien. Jede vertikale Kategorie wird verarbeitet und produziert. Karten in ihrem eigenen Geschäftsfeld, und dann aggregiert die Root-Anwendung von Aladdin die von vertikalen Kategorien zurückgegebenen Ergebnisse und gibt sie an den Benutzer zurück. Die Ausführung bestimmter vertikaler Kategorien wird langsamer sein Wenn ein Benutzer beispielsweise nach einem Medikament sucht, filtert die Gesundheitsbranche solche Anwendungen basierend auf dem Längen- und Breitengrad des Suchenden nach nahe gelegenen o2o-Apotheken und berechnet den Aktionsrabattpreis des Medikaments im Geschäft.Diese Berechnung dauert oft lange , sodass die Stammanwendung ein Timeout-Urteil von 380 ms hinzufügt. Für alle vertikalen Anwendungen sind die gleichen. Wenn der Inhalt, den Sie zurückgeben, diese Zeit überschreitet, wird das Ergebnis verworfen. Lassen Sie dieses Beispiel dies allen verständlich machen, indem Sie die Timeout-Einstellung für jede erhöhen Link kann dies sicherstellen, dass der Gesamtprozess in einem kontrollierbaren Zeitrahmen ausgeführt wird, wodurch die Konsistenz der Benutzererfahrung sichergestellt wird.

Die Auszeit im Programm lässt sich leicht verlängern, weil das Programm keine Emotionen hat, aber die Szene der Essensbestellung ist anders: Es ist unmöglich, hinter jedem Gericht einen Kellner zu arrangieren, der 123 nach der Zeit zählt und ihn nach mehr als nach vorne schiebt 5 Sekunden. Dies ist nicht möglich. Nun, der Grund dafür ist, dass das Bestellen von Gerichten subjektiv und aktiv ist. Er kann vor einem Gericht so lange anhalten, wie er möchte. Nachdem ich über dieses Problem nachgedacht habe, habe ich eine Idee, Benutzern das Recht zu entziehen unabhängig bleiben und eine einheitliche Aufenthaltszeit schaffen.“ Also entwarf ich für Bruder Hua ein Timeout-Gerät, das eine Reihe automatischer Förderer auf beiden Seiten des Esstisches hinzufügen soll, ähnlich dem Förderband im Flughafen zum Terminal nach der Sicherheitskontrolle überprüfen, damit, wenn Leute Essen auf beiden Seiten bestellen, Sie nicht alleine herumlaufen müssen, und jeder für die gleiche Zeit vor jedem Gericht bleibt, so dass es kein Problem gibt, dass eine Person davor bleibt ein bestimmtes Gericht zu lange, und es vermeidet auch das Problem, dass der Esstisch durch die lange Zeit von jemandem vor Ihnen verursacht wird.Das Problem der allgemeinen Stagnation aufgrund von Zeitverzögerung hat den Durchsatz des Esstisches verbessert, und das Das Hinzufügen des Förderbandes hat den Vorteil, dass es sehr langsam fahren oder sogar anhalten kann, wenn nicht viele Personen anwesend sind, und die Geschwindigkeit des Förderbands in der Stoßzeit entsprechend erhöht werden kann.Steuern Sie die Zeit für jede Person, um Essen zu bestellen sorgen für die Durchsatzleistung des gesamten Esstisches.

Bruder Hua war lange fassungslos, nachdem er von meiner genialen Idee gehört hatte. Nachdem er die Möglichkeit berechnet hatte, hielt er diese Methode für wirklich machbar. Er muss nur bis zum Nationalfeiertag oder den 1. Mai warten, um mit dem Bau zu beginnen und Förderbänder an beiden anzubringen Schließlich hörte er, dass ein Bruder Hua, der einen durchführbaren Plan hatte, ein wenig aufgeregt war und auch seine Wangen leicht gerötet waren.

2.3 Eliminierung von Nicht-Kernprozessen

Als ich sah, dass Bruder Hua meinen Plan akzeptierte, fühlte ich mich sofort sehr ermutigt, also dachte ich weiter darüber nach, wie ich diesen Prozess optimieren könnte.Im Bereich der Ingenieurtechnologie kann ein Prozess immer noch durchgeführt werden, wenn er einer großen Menge von ausgesetzt ist Es geht darum, den Prozess zu vereinfachen, nur die Kernprozessverknüpfungen beizubehalten, was oft als goldener Prozess bezeichnet wird, und die nicht zum Kerngeschäft gehörenden Knoten aus dem Hauptprozess zu entfernen, damit der optimierte Hauptprozess die Ausführungszeit verkürzen kann Die Logik der Prozessausführung ist geringer und die Fehlerwahrscheinlichkeit wird ebenfalls reduziert Am Beispiel des Auftragskalkulationsprozesses von JD Retail müssen die folgenden Dinge getan werden, wenn die Handelsseite abgerechnet wird:

Tatsächlich gibt es in der Abrechnung noch viele Nicht-Hauptknoten zu bewältigen, wie z. B. das Löschen zugehöriger abgerechneter Artikel im Warenkorb, vorbelegte Selbstabholschränke usw., aber dies sind Nicht-Kernprozesse und können es sein aus dem Hauptprozess entfernt.

Um auf den Esstisch zurückzukommen: Was ist der goldene Prozess? Ja, es sind die Prozesse, die in direktem Zusammenhang mit Einnahmen stehen, und die Artikel, die keine Einnahmen generieren, wie Reis, gedämpfte Brötchen, Suppe und Haferbrei, können in Betracht gezogen werden als Nebenprozesse. Es wird aus dem Hauptprozess entfernt, was den Hauptprozess der Einnahme von Mahlzeiten für alle kontinuierlich vereinfacht und auch den Platz des Restaurants spart. Der verbleibende Platz kann für mehrere Dinge verwendet werden. Eine davon ist, mehr zu stellen Grundnahrungsmittel oder einige Gerichte hinzufügen. Auf diese Weise kann das Einkommen erhöht werden. Die zweite besteht darin, einige Selbstbedienungskassengeräte hinzuzufügen. Die vorherigen zwei Kassenschalter können die Nachfrage decken, wenn die Bestellung von Mahlzeiten langsam war, aber jetzt der gesamte Prozess wurde vereinfacht und die Gesamtgeschwindigkeit der Essensbestellung für alle erhöht. Auf diese Weise werden zwei Kassen zu einem neuen Engpass, insbesondere wenn auf Studenten gestoßen wird, die eine direkte Zahlung durch Scannen des Codes haben. Auf diese Weise wird der Engpass deutlicher , durch die Erhöhung der Zahl der Kassen wird die gleichzeitige Verarbeitungskapazität der Kasse verbessert, wodurch ein reibungsloser Ablauf der gesamten Mahlzeiteneinnahme gewährleistet wird und keine neuen Leistungsengpässe entstehen, perfekt!

Bruder Hua war sehr zufrieden, als er diesen Vorschlag hörte. Er fand, dass der Esstisch zu klein war und es nicht genug Geschirr gab. Auf diese Weise wurde der Platz sinnvoller für Lebensmittel genutzt, die Gewinn bringen konnten. Genau das war Bruder Hua wollte Bruder Hua Sehr glücklich, mich zu respektieren.

2.4 Verteilter Cache

Darüber hinaus stellt die Verwendung der verteilten Caching-Technologie eine sehr wichtige Wunderwaffe für das Internet zur Erhöhung des Systemdurchsatzes und zur Verkürzung einer einzelnen Ausführungszeit dar. Die verteilte Caching-Technologie kann die Datenerfassungszeit für viele Anrufe mit Systemengpässen erheblich verkürzen, um die Verarbeitungszeit zu verkürzen , lässt sich die verteilte Caching-Technologie auch hier am Esstisch nutzen?

Ich habe mir überlegt, dass die zuvor aus dem Hauptprozess entfernten kostenlosen Grundnahrungsmittel und Suppe und Brei das Prinzip des Cachings, insbesondere des CDN-Cachings, nutzen können, um die Grundnahrungsmittel und Suppe und Brei in der Nähe des Esstisches der Kollegen zu verteilen ., damit Kollegen, die essen, Grundnahrungsmittel und Suppe und Haferbrei in der nächsten Reichweite servieren können. Oberflächlich betrachtet gibt es keine Umsatzsteigerung, aber tatsächlich ist eines davon, dass das Essenserlebnis für alle besser ist, und das zweite für alle isst mehr Die Mahlzeit ist bequem und die Zeit zum Essen wird reduziert, wodurch die Nutzungsrate des Esstisches verbessert wird. Stellen Sie sicher, dass der nächste Kollege, der eine Mahlzeit bekommt, schnell einen Platz findet, und das Erlebnis wird ebenfalls verbessert. Ich werde hier keine Bilder zeichnen, ich glaube, jeder kann es verstehen.

3. Nachsatz

Bruder Hua senkte den Kopf und verfiel in tiefe Gedanken, nachdem er sich meinen Optimierungsplan als Ganzes angehört hatte. Nach einer langen Zeit hob er den Kopf und sah mich an, seine Augen waren etwas verschwommen. Ich war ein wenig nervös, als ich dachte, dass er wollte meinen Plan systematisch kommentieren: Meiner ist, wie spät ist es jetzt, und ich stellte fest, dass Bruder Hua einfach zu viel getrunken hatte und mit gesenktem Kopf eingeschlafen war.

{{o.name}}
{{m.name}}

Ich denke du magst

Origin my.oschina.net/u/4090830/blog/8586941
Empfohlen
Rangfolge