深入淺出:系統(tǒng)以前不慢???

一、故事背景

物理學(xué)有四大神獸:芝諾的龜、拉普拉斯的獸、麥克斯韋的妖、薛定諤的貓。而我在多年的工作中,經(jīng)常遇到軟件系統(tǒng)的兩大“玄學(xué)反問”:

玄學(xué)反問1
A:系統(tǒng)有問題,某某功能現(xiàn)在使用不了。
B:不可能!在我這里是好的???

玄學(xué)反問2
A:系統(tǒng)慢是因?yàn)榻谟龅叫阅芷款i了。
B:不會(huì)吧!之前都是正常的啊?

每當(dāng)遇到這些“玄學(xué)反問”,都要去解釋一番。次數(shù)多了,我覺得有必要整理成科普資料,便于在今后復(fù)用、提高溝通效率。本文僅對(duì)“玄學(xué)2”做科普。

二、故事開始了...

2.1 “下午來”書店開張啦

話說,佟掌柜突來奇想,想開一家書店。于是她租了個(gè)店鋪,親自去采購(gòu)了幾十本書,就開業(yè)了。

一天,蟲大閑逛,恰好路過這家“下午來”書店,被佟掌柜姿色所吸引,于是就邁步進(jìn)去看看。最終,蟲大架不住佟掌柜的巧言令色,買了兩本書才離開。

書到手了,總要讀讀吧。但別說,蟲大讀完后,覺得自己的境界提高了不少,出去都覺得高人一等。于是他覺得還應(yīng)該去買書、讀書,提高自己的精神修養(yǎng)。

2.2 書店生意好起來啦

蟲大踱步到“下午來”就愣住了,只見門口排了10多個(gè)人,有蟲二、蟲三...,他如果排隊(duì),應(yīng)該叫蟲十八了。

等不及、絕對(duì)等不及。蟲大裝作大VIP,冒著其它蟲蟲們看待大尾巴狼的鄙夷目光,直接走到書店門口。

蟲大:呵!掌柜的,生意越來越紅火了,恭喜恭喜!可這么排隊(duì)不是辦法???
佟掌柜:可不是嗎,可我一個(gè)人忙不贏啊。

蟲大:你干嘛不招個(gè)小工幫忙呢?
佟掌柜:對(duì)哦,我怎么沒想到?

蟲大:你是推銷高手,肯定以后店面生意更好。你也別摳摳搜搜的,直接招5個(gè)小工來,儲(chǔ)備“高并發(fā)能力”,為以后擴(kuò)大經(jīng)營(yíng)做準(zhǔn)備。
佟掌柜:太對(duì)了!那,今天要買啥書?給你打5折。

2.3 伙計(jì)們可閑啦

蟲大再次看完5本書后,又來到書店。這次店門口沒排隊(duì)了,可進(jìn)了門,發(fā)現(xiàn)佟掌柜有點(diǎn)愁眉苦臉的。

蟲大:掌柜的,怎么了?
佟掌柜:你看看,招了5個(gè)小工。可是,就莫小貝、郭芙蓉還比較忙,剩下李大嘴等3人都閑著哪。我還要開工資、管吃住。

蟲大:是哦。你可以給書商寫信,就說每月十五日本店采購(gòu)新書,歡迎大家來推銷,擴(kuò)大存書數(shù)量。然后在城門口粘貼個(gè)廣告,就說來本店買書可累計(jì)積分,積分可抵扣現(xiàn)金。而且工作日下午來本店買書,還可打9折。創(chuàng)造貨源、客源雙豐收。
佟掌柜:對(duì)哦,我怎么沒想到?

2.4 怎么又排隊(duì)啦

蟲大再次讀完了5折買回來的3本書,又又來到了書店。咦~,怎么又排起長(zhǎng)隊(duì)了?

蟲大:掌柜的,生意真好??!
佟掌柜:可不嘛,多虧了你的主意,今天給你打3折。
蟲大:哈哈,那我就不客氣啦。

佟掌柜:還要請(qǐng)教你??腿硕嗔耍镉?jì)們也忙起來了,錢雖然沒少賺,但客人們對(duì)排長(zhǎng)隊(duì)等待相當(dāng)不滿意呢。
蟲大:確實(shí),你這店面不大,也不適合招更多的伙計(jì)了。你覺得慢在哪里呢?

佟掌柜:現(xiàn)在書籍的品類數(shù)量都多了,書商每次來都把貨一放就走了。你看蟲七,他跟莫小貝說要買勵(lì)志類書籍。莫小貝就要跑到那一大堆書籍中翻查很久,才能找出來兩三本可以推薦的書,太費(fèi)時(shí)了。盡管有5個(gè)伙計(jì),但馬力全開也忙不贏。
蟲大:明白了。各類書籍都是混亂堆放的,擬采購(gòu)的書越多,越難以找到。給你推薦個(gè)人,叫呂秀才。他家里書籍多,但擺放整齊,他可是收納高手。
佟掌柜:對(duì)哦,我怎么沒想到?

2.5 經(jīng)營(yíng)步入正軌啦

呂秀才上崗后,先是說服佟掌柜買來幾個(gè)大書架,然后把書商卸下的大批書籍分門別類,整整齊齊地?cái)[放到書架上。然后給莫小貝、郭芙蓉、李大嘴等人培訓(xùn),讓他們掌握快速查找算法。

經(jīng)佟掌柜測(cè)試,以前10多分鐘都完成不了的工作,現(xiàn)在1分鐘就能完成!并且呂秀才說了,以后還可以加書柜、加書籍,而伙計(jì)們的工作效率基本保持不變,來再多的客人也不怕啦。呂秀才把這套方法叫“書籍庫索引”、“算法優(yōu)化”。

佟掌柜賺得盆滿缽滿,每日喜上眉梢,還按照這個(gè)模式又在川云市租了更多的服務(wù)店鋪,開分店,因?yàn)橐粋€(gè)店面總是有空間上限的,也不可能裝下幾百個(gè)書架啊。

2.5 怎么不早說了啦

蟲大已經(jīng)是“下午來”書店如假包換的VVIP,可以1折買書。如果不是蟲大抱著“書非買不能讀也”的初心,佟掌柜完全可以給他免費(fèi)。

這天蟲大又來到了書店。

佟掌柜:VVIP好啊,問你個(gè)問題。
蟲大:掌柜的,生意興??!啥問題?

佟掌柜:多虧你的指點(diǎn),可你怎么知道這些點(diǎn)子的呢?
蟲大:實(shí)不相瞞,我從你這里買的第一本書就是《系統(tǒng)架構(gòu)設(shè)計(jì)》,這些點(diǎn)子里面都有。

佟掌柜:原來如此,你怎么不早說了啦。我如果也通讀了寶典,就可以一步到位了。
蟲大:那可不行!你想啊,你剛創(chuàng)業(yè)時(shí),沒那么多資金,怎么雇得了那么多伙計(jì)、買得了那么多書籍、聘得起呂秀才這樣的人才?再說了,即使有那么多資金,采買全套設(shè)備還要投入更多時(shí)間,在生意沒有起色前,投入太多不是浪費(fèi)嗎?做生意又不是想虧錢。
佟掌柜:對(duì)哦,我怎么沒想到?

蟲大:所以,我也是一點(diǎn)點(diǎn)提供建議,不能夠早說了啦。其實(shí)我還有個(gè)點(diǎn)子。
佟掌柜:洗耳恭聽,啥好點(diǎn)子?
蟲大:今天是會(huì)員日大促,又趕上《瓦爾登湖》是現(xiàn)今最暢銷的書。你看李大嘴,往返取這本書都跑了不下十次了,這樣下去他這個(gè)胖子要累死。所以,書店完全可以把熱銷書直接擺在柜臺(tái)上,減少往返查取的次數(shù),做到秒級(jí)送書到客。我還可以給你推薦個(gè)人,老白擅長(zhǎng)這門“書籍緩存”技術(shù),他可以從分析書籍銷量來推薦熱銷書,并擺在柜臺(tái)上。

三、故事講完了

在蟲蟲們排隊(duì)忍耐力有限的前提下,書店可以接待多少客人,受李大嘴查找一次書籍要多少時(shí)間、以及書店有多少個(gè)“李大嘴”的共同影響。所以:

軟件系統(tǒng)的整體性能=單次交易處理耗時(shí)*系統(tǒng)可用并發(fā)量

減少單次交易處理耗時(shí)的對(duì)策有:更優(yōu)秀的程序算法、使用緩存技術(shù)、更高性能的CPU...
增加系統(tǒng)可用并發(fā)量的對(duì)策有:更大內(nèi)存、更多服務(wù)器、數(shù)據(jù)庫集群...

從以上清單可以看出,想得到更好的系統(tǒng)性能,必然增加更多的資金投入、時(shí)間投入。因此,在某個(gè)軟件系統(tǒng)新建、試用期,甚至投產(chǎn)一年內(nèi),追求完美的性能不一定是好事。因?yàn)檫@時(shí)候準(zhǔn)備的“超級(jí)書店”,只有書報(bào)亭的業(yè)務(wù)量。優(yōu)秀的架構(gòu)設(shè)計(jì),是保證隨著業(yè)務(wù)量增長(zhǎng),系統(tǒng)性能可以平穩(wěn)提升,而不是一次到位。

甚至也不可能一次到位。因?yàn)樾阅軆?yōu)化涉及的深度廣度太多,遠(yuǎn)不是本文科普列舉得完的。也因此需要對(duì)系統(tǒng)持續(xù)監(jiān)控、不斷優(yōu)化,也因此敏捷迭代模式越來越受歡迎,而瀑布模式因?yàn)橛小安荒芗皶r(shí)響應(yīng)變化”的原罪而衰落

玄學(xué)2:
A:系統(tǒng)慢是因?yàn)榻谟龅叫阅芷款i了。
B:不會(huì)吧!之前都是正常的???

再次回答這個(gè)“玄學(xué)問題”就容易了,之前正常:

  • 可能是沒有那么大的并發(fā)量
  • 也可能是沒有那么大的數(shù)據(jù)量
  • 也可能是“李大嘴”這個(gè)程序的算法在小數(shù)據(jù)量下才能正常工作
  • 也可能是數(shù)據(jù)庫沒有建立索引
  • 也可能是CPU老舊或內(nèi)存不足

總之,問題就在那里,關(guān)注如何解決問題,當(dāng)你埋頭工作的時(shí)候,轉(zhuǎn)機(jī)已經(jīng)悄然發(fā)生。


“下午來”,是陪女兒讀書時(shí),租的學(xué)區(qū)房附近一家鹵肉店的名字,又叫“好又來”。這家鹵肉原汁原味,沒添加香精色素,賣相一般但味道得到了大家的認(rèn)可,生意很好。

故事內(nèi)容是為了科普,姓名純屬虛構(gòu),請(qǐng)勿對(duì)號(hào)入座。工作中能和大家一路打怪升級(jí)、解決問題,得到了不少幫助和支持,心存感激!

各式各樣的經(jīng)歷構(gòu)筑成了我們的人生


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容