中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

一次面試引發(fā)的思考(中小型網(wǎng)站優(yōu)化思考)

2019-03-26    來(lái)源:51CTO

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

前言

故事的起因是這樣的,由于本人地處偏僻工作地點(diǎn)在美麗的冰城哈爾濱雖然地方很美麗,但是這里的軟件行業(yè)實(shí)在是算不上“美麗”,這么多年由于個(gè)人原因或者公司原因經(jīng)常換工作,因?yàn)檫@里都是中小型公司,沒(méi)有什么大公司。

今天安靜的上班明天老板接不到外包可能就要解散,我見(jiàn)過(guò)最狠的老板壓了我6個(gè)月的工資,我都忘記我當(dāng)年為什么沒(méi)被餓死過(guò)來(lái)的,據(jù)說(shuō)年前有一個(gè)哈爾濱的某奇葩食品行業(yè)公司雇傭了好幾十個(gè)員工干活,結(jié)果項(xiàng)目做完了以后,公司申請(qǐng)破產(chǎn)了,末月就是不給你結(jié)算,愛(ài)那那告,結(jié)果幾個(gè)月以后又開(kāi)始恢復(fù)營(yíng)業(yè)了。(好吧我的嘴癌又開(kāi)始犯了)

言歸正傳,由于這種環(huán)境所以我對(duì)自己的技術(shù)也有一個(gè)了解,高難度項(xiàng)目不好說(shuō),但是一些中小型的解決方案,即使拿不下,也能說(shuō)個(gè)六七分。今年大概三月份開(kāi)始陸陸續(xù)續(xù)面試了一些公司(因?yàn)楣べY要的多,所以很多時(shí)候要仔細(xì)甄選是不是騙子,不能給個(gè)電話就去。) 有一天我面試了一家據(jù)說(shuō)很大,給百度旗下做seo優(yōu)化的公司,全國(guó)有五個(gè)分部。

概況

面試的過(guò)程很簡(jiǎn)單一個(gè)年紀(jì)跟我差不多的兄弟出來(lái)大概問(wèn)了我?guī)讉(gè)問(wèn)題,問(wèn)了問(wèn)工作年限,我說(shuō)我是12年畢業(yè)的,雖然是12年畢業(yè)但是實(shí)際我已經(jīng)工作五年了,他停頓了一會(huì),然后跟我聊了聊雇傭人的原因:

據(jù)說(shuō)他們公司花了很久的功夫開(kāi)發(fā)了一套系統(tǒng),這個(gè)東西就是處理集團(tuán)五個(gè)分部的業(yè)務(wù)和會(huì)計(jì)實(shí)務(wù)進(jìn)行報(bào)告的總公司,進(jìn)行遞交,然后進(jìn)行月末統(tǒng)計(jì),但是問(wèn)題來(lái)了因?yàn)樵履┮峤凰晕鍌(gè)分部總是在月末的最后一天遞交相關(guān)資料,結(jié)果系統(tǒng)老是崩潰,他們想招收一個(gè)能解決問(wèn)題的大拿,但是說(shuō)的過(guò)程我就看出來(lái)可能覺(jué)得我很年輕,語(yǔ)氣很是輕蔑,我當(dāng)時(shí)就有預(yù)感肯定不會(huì)要我,但是我穩(wěn)住了,可是我心里也很是輕蔑,花了好幾年做的一套系統(tǒng),一直崩潰,你們以前的技術(shù)經(jīng)理是吃s的?

但是,為了保持矜持(不要打我),我就岔開(kāi)了話題問(wèn)了一點(diǎn)別的,為了不引起疑心,我旁敲側(cè)擊的問(wèn)了一下集團(tuán)情況,他說(shuō)咱們總部是150人,我說(shuō)那外面呢?他說(shuō)都差不多,這個(gè)時(shí)候我的腦洞的打開(kāi)了,假如咱們?nèi)(gè)中間值,五個(gè)分部,每個(gè)分部160人,那么就是800人,一個(gè)綜合性公司,開(kāi)發(fā)人員不能上傳報(bào)表吧?銷售也是,他也說(shuō)了,只是管理會(huì)計(jì)這一塊的,我們?nèi)(gè)中間值,上下的并發(fā)量400人的網(wǎng)站,(我覺(jué)得差不多了,其實(shí)如果網(wǎng)站規(guī)劃得好400 的并發(fā)和800的并發(fā)優(yōu)化沒(méi)什么區(qū)別)一個(gè)網(wǎng)站400就崩了,我覺(jué)得好可憐,(為什么他們還那么趾高氣昂?),然后我又問(wèn)咱們用的是幾臺(tái)服務(wù)器?他說(shuō)是一臺(tái),最后他說(shuō)您想要多少錢的工資?我說(shuō)8k-10k,結(jié)果他馬上站起來(lái)就說(shuō):你可以走了! 就憑借這句話我再也不想來(lái)這個(gè)公司面試了。

分析

我問(wèn)的問(wèn)題可能不全面但是是有條理的,我問(wèn)他們幾臺(tái)服務(wù)器,就是想問(wèn)問(wèn)做沒(méi)做基本的圖片服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器分離,結(jié)果是就這樣被征服了。

那么問(wèn)題就來(lái)了,原因可能是如下幾種:

1.上傳的文件太多(或者圖片太多)。

2.網(wǎng)頁(yè)的頁(yè)面壓力太大寫的不夠好。

3.數(shù)據(jù)庫(kù)的壓力太大。

思路

第一種問(wèn)題解決方案,上傳的文件太多,這個(gè)問(wèn)題最難解決了,同時(shí)也是最簡(jiǎn)單的,因?yàn)榻鉀Q的方案就是一個(gè)字錢,君不見(jiàn)優(yōu)酷土豆此類網(wǎng)站燒錢之甚啊!因?yàn)樯婕暗讲l(fā),打個(gè)比方,一條高速公路是100M,那么你的并行量級(jí)咱們就按照100M計(jì)算,(這種說(shuō)法已經(jīng)最笨了)假設(shè)每個(gè)人的上傳5M的文件和圖片那么這個(gè)網(wǎng)站的并發(fā)我是不是就可以認(rèn)為是100/5 = 20呢? 也就是說(shuō)這個(gè)網(wǎng)站只能20個(gè)人訪問(wèn)了,多了輕則卡頓丟失文件,總則就是網(wǎng)站崩潰了,這種問(wèn)題也最難解決,因?yàn)槲募蛨D片永遠(yuǎn)都是網(wǎng)站流量的最大殺手,沒(méi)什么好辦法只能做圖片服務(wù)器分離.文件服務(wù)器分離了,(但是這里又違背了人家只用一臺(tái)服務(wù)器的原則),有的公司看上去很大,但是老板就是對(duì)IT部門不重視不投資那么多沒(méi)什么辦法。

第二種問(wèn)題解決方案,網(wǎng)頁(yè)的頁(yè)面壓力太大不夠好,這個(gè)我可要說(shuō)說(shuō)了,我見(jiàn)過(guò)很多程序員寫的頁(yè)面一直都是在應(yīng)付,因?yàn)槲沂亲?net開(kāi)發(fā)的,雖然.net的定位一直都是中小型網(wǎng)站,但是我認(rèn)為不能因?yàn)樗皇莻(gè)中小型網(wǎng)站就可以敏捷開(kāi)發(fā)一樣快速寫成功了沒(méi)有了bug就可以了,咱們具體分析一下原因:

IIS 內(nèi)部運(yùn)行機(jī)制及Asp.Net執(zhí)行過(guò)程詳解 中說(shuō)道:(咱們就根據(jù)iis5.x的運(yùn)行機(jī)制來(lái)分析一下)

當(dāng)一個(gè)HTTP請(qǐng)求從客戶端發(fā)送過(guò)來(lái)之后會(huì)被WEB服務(wù)器進(jìn)行Queue并進(jìn)行分解歸類,如果某個(gè)請(qǐng)求僅包含靜態(tài)文件的請(qǐng)求,比如 CSS,JS,Html文件或者虛擬目錄所包含的文件如圖片,IIS直接提取對(duì)應(yīng)的文件將其作為Http Response返回給Client,如果事情僅僅是這樣,我們很多人就會(huì)失業(yè)了,呵呵。但是對(duì)于這些需要進(jìn)一步處理的動(dòng)態(tài)執(zhí)行的文件,IIS必須將 Request進(jìn)一步傳遞給對(duì)應(yīng)的處理程序,待處理程序執(zhí)行完畢獲得最終的Http Response通過(guò)IIS返回給Client。

如果一個(gè)請(qǐng)求中包含動(dòng)靜態(tài)請(qǐng)求,那么靜態(tài)內(nèi)容會(huì)等到動(dòng)態(tài)內(nèi)容生成HTML后組合在一起返回給 Client。對(duì)于IIS來(lái)說(shuō),這些處理程序通過(guò)ISAPI Extension來(lái)體現(xiàn)。ISAPI Extension接收到請(qǐng)求頁(yè)的擴(kuò)展名之后會(huì)到IIS的Metadata database維護(hù)著一個(gè)稱為ISAPI Extension Mapping的數(shù)據(jù)表查詢,負(fù)責(zé)將不同類型的Resource影射到對(duì)應(yīng)的ISAPI Extension。

對(duì)應(yīng).ASPX的Mapping是ASP.NET ISAPI。至此,ASP.NET ISAPI會(huì)創(chuàng)建一aspnet_wp.exe的worker process(若該P(yáng)rocess不存在的話)。當(dāng)?shù)匾粋(gè)ASP.NET接收到Application中的任何一個(gè).ASPX請(qǐng)求時(shí),名為 ApplicationManager的類會(huì)創(chuàng)建一個(gè)ApplicationDomain(應(yīng)用程序域)。ApplicationDomain會(huì)為全局變量提供應(yīng)用程序隔離,并允許單獨(dú)寫真每個(gè)應(yīng)用程序。在應(yīng)用程序域中,將為名為 HostingEnvironment 的類創(chuàng)建一個(gè)實(shí)例,該實(shí)例提供對(duì)有關(guān)應(yīng)用程序的信息(如存儲(chǔ)該應(yīng)用程序的文件夾的名稱)的訪問(wèn)。

如果需要,ASP.NET 還可對(duì)應(yīng)用程序中的頂級(jí)項(xiàng)進(jìn)行編譯,其中包括 App_Code 文件夾中的應(yīng)用程序代碼。創(chuàng)建了應(yīng)用程序域并對(duì) HostingEnvironment 對(duì)象進(jìn)行了實(shí)例化之后,ASP.NET 將創(chuàng)建并初始化核心對(duì)象,如 HttpContext、HttpRequest 和 HttpResponse。 HttpContext 類包含特定于當(dāng)前應(yīng)用程序請(qǐng)求的對(duì)象,如 HttpRequest 和 HttpResponse 對(duì)象。 HttpRequest 對(duì)象包含有關(guān)當(dāng)前請(qǐng)求的信息,包括 Cookie 和瀏覽器信息。 HttpResponse 對(duì)象包含發(fā)送到客戶端的響應(yīng),包括所有呈現(xiàn)的輸出和 Cookie。

從上面的分析我們可以總結(jié)出iis讀取頁(yè)面的機(jī)理和原因:

第一種:就是對(duì)internet請(qǐng)求進(jìn)行分析和歸類,分成靜態(tài)頁(yè)面請(qǐng)求和動(dòng)態(tài)頁(yè)面請(qǐng)求,所謂的靜態(tài)請(qǐng)求就是html靜態(tài)頁(yè)面,動(dòng)態(tài)請(qǐng)求我們暫時(shí)理解為aspx,或者cshtml請(qǐng)求。

第二種:就是對(duì)動(dòng)態(tài)頁(yè)面請(qǐng)求進(jìn)行分析,等到動(dòng)態(tài)請(qǐng)求分析成為靜態(tài)請(qǐng)求的時(shí)候組合再一起返回給瀏覽器。

所以我得出了兩個(gè)結(jié)論:

第一種,我們把一些流量高但是頁(yè)面數(shù)據(jù)不總是變化頁(yè)面我們可以考慮使其靜態(tài)化。這也是現(xiàn)在一些流行網(wǎng)站的做法。

第二種,我們可以盡力的減少動(dòng)態(tài)請(qǐng)求分析的時(shí)間。

第三種數(shù)據(jù)庫(kù)壓力大的解決方案,這種問(wèn)題很多就是程序員自己自身素質(zhì)的問(wèn)題了,或者架構(gòu)沒(méi)有搭建好。

我猜想原因可能是:

第一種,有的人喜歡把文件或者圖片變成二進(jìn)制保存到數(shù)據(jù)庫(kù)里,這樣參照第一種崩潰原因。

第二種,就是有的程序員他很擅長(zhǎng)數(shù)據(jù)庫(kù)方面的技術(shù),所以他把所有的業(yè)務(wù)和邏輯都封裝成了存儲(chǔ)過(guò)程保存在數(shù)據(jù)庫(kù)里,后臺(tái)代碼只有一個(gè)事務(wù)回滾甚至沒(méi)有,這樣的業(yè)務(wù),在后臺(tái)響應(yīng)時(shí)間內(nèi)接收不到回應(yīng)自然會(huì)報(bào)錯(cuò)了。

結(jié)尾

我想說(shuō)的是,.net語(yǔ)言因?yàn)槠淙腴T門檻低,容易掌握,造成了很多程序員素質(zhì)參差不齊,也有很多程序員學(xué)了很多年坐了項(xiàng)目經(jīng)理連最基本的uml 建模都沒(méi)學(xué)過(guò),這樣給團(tuán)隊(duì)協(xié)作開(kāi)發(fā)造成了非常大的影響,也給一些公司造成了不可挽回的損失,有一些老板一直在催快點(diǎn)干完,這個(gè)項(xiàng)目三天,三天能不能完成?他們只注重速度和錢,但是不注重質(zhì)量,像我面試的這個(gè)公司一樣自己開(kāi)發(fā)的系統(tǒng),居然還一直崩潰,一個(gè)網(wǎng)站或者公司,雖然開(kāi)始的定位一定是中小型,但是我們避免不了要發(fā)展要生存,這還只是一個(gè)公司內(nèi)部的系統(tǒng),如果要是線上的項(xiàng)目,我估計(jì)沒(méi)準(zhǔn)連服務(wù)器都會(huì)崩潰了! 雖然干了五年因?yàn)椴皇菍I(yè)出身所以底子不好寫的也不怎么樣,希望各位朋友能指點(diǎn)指點(diǎn)我,這只是我人生路上面試過(guò)程中的一個(gè)小部分,我只想說(shuō),無(wú)論我們是做程序員還是做人,要對(duì)得起自己的技術(shù),對(duì)得起自己的研究成果!做到問(wèn)心無(wú)愧就可以了!

標(biāo)簽: 網(wǎng)站優(yōu)化 中小型網(wǎng)站優(yōu)化 網(wǎng)站建設(shè) 

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:有了競(jìng)價(jià)推廣之后,我們?yōu)槭裁催要做SEO優(yōu)化

下一篇:SEO有時(shí)候就是一篇文章