知識(shí)庫
用服務(wù)器跑代碼是不是更快?有的用戶反映:用本機(jī)跑了1000行數(shù)據(jù)量的代碼,用時(shí)5分鐘就跑出來了,放到服務(wù)器上,跑了一下午還沒出來,我真的栓Q了。首先,因?yàn)榉?wù)器主要是響應(yīng)用戶請(qǐng)求。要求服務(wù)可靠運(yùn)行,確保穩(wěn)定性和安全性,一般具備大內(nèi)存,熱插抜,而對(duì)于一般程序運(yùn)行速度沒有特別要求。
看你買的啥性能的服務(wù)器,服務(wù)器也是不同硬件不同價(jià)格的啊,幾百刀一小時(shí)的跟幾百刀一個(gè)月的肯定天差地別,便宜的那些的確還不如自己家用的電腦。
可能現(xiàn)在搞機(jī)器學(xué)習(xí)的人如果使用過服務(wù)器(Intel Xeon系列CPU)都會(huì)遇到過這樣的一個(gè)問題,就是使用普通的家用電腦(Intel i7 之類的)跑Tensorflow 、Pytorch代碼雖然只有8物理核心或者10物理核心的CPU來跑代碼,其CPU使用率都不一定會(huì)達(dá)到100%,然而我們使用服務(wù)器(Xeon CPU)跑同樣的代碼,幾十個(gè)物理核心的CPU其使用率立刻升高到100%,就這造成了十分要人迷惑的現(xiàn)象。
用服務(wù)器跑代碼測試:http://www.bxgb88.com/cloud/hk.html
用服務(wù)器跑php代碼這種語言就不只是更快了:
1、運(yùn)行速度:服務(wù)器的運(yùn)行速度比本地快的多,你的開發(fā)客戶端基本上不用跑什么程序,就一個(gè)帶sftp的ide就行,哪怕是一臺(tái)破筆記本,速度都能快的飛起。
2、運(yùn)行環(huán)境:是多人合作的時(shí)候,大家都不會(huì)有環(huán)境問題,相同的環(huán)境,相同版本的插件。
3、開發(fā)進(jìn)度:可以看合作伙伴實(shí)時(shí)的開發(fā)進(jìn)度,他做的東西就在服務(wù)器上,直接訪問就行了。
4、部署快速:沒有了打包上傳這個(gè)步驟,服務(wù)器上的腳本一鍵搞定部署更新。
5、新人培訓(xùn)也簡單,服務(wù)器上的腳本意見開個(gè)新環(huán)境,就是git和數(shù)據(jù)庫分別clone一下就ok,測試數(shù)據(jù)都是全套,還全都是最新版本的。連上就能直接開干。
6、多臺(tái)電腦時(shí)候也特別方便,git clone一下新代碼,直接編輯就好,環(huán)境、數(shù)據(jù)啥的都在服務(wù)器上,在公司和在家里都是一樣的,特方便。
對(duì)于python來說,基本上就沒缺點(diǎn)。另外,不是說在服務(wù)器上寫代碼,就是直接在成品項(xiàng)目上胡改。我們需要知道 服務(wù)器CPU向量計(jì)算一般使用 avx-512 什么的,而家用CPU進(jìn)行向量計(jì)算一般都是用AVX2指令集。換句話就是說家用電腦做向量計(jì)算性能較低,由于指令集不支持所以CPU使用率上不去,但是服務(wù)器cpu對(duì)向量計(jì)算支持較好。
正常的流程,是服務(wù)器上至少每個(gè)用戶一個(gè)開發(fā)環(huán)境,一個(gè)git hook的測試環(huán)境,一個(gè)relase部署環(huán)境。一旦用服務(wù)器CPU進(jìn)行向量計(jì)算其性能會(huì)有大幅度提升,而且會(huì)充分利用CPU的資源,因此使用服務(wù)器CPU進(jìn)行同樣的向量計(jì)算其使用率不僅沒有降低反而會(huì)有大幅度的提升,甚至?xí)_(dá)到100%的可能利用率,當(dāng)然伴隨著服務(wù)器CPU使用率的高數(shù)值,整體的計(jì)算時(shí)間也會(huì)得到大幅縮短。