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

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

2019-03-26    來源:51CTO

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

前言

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

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

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

概況

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

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

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

分析

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

那么問題就來了,原因可能是如下幾種:

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

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

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

思路

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

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

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

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

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

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

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

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

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

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

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

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

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

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

我猜想原因可能是:

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

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

結(jié)尾

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

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

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

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

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