Re: [閒聊] 效率最高的動態網頁處理法

看板Soft_Job (軟體人)作者 (abadcafe)時間12年前 (2013/06/30 22:42), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《erspicu (.)》之銘言: : 想討論的是比較極端的狀況,意思是說特例. : 前面有人說拿組語寫網頁,我還真的看過.... : 大概是cgi那種時代,除了用perl和一些script撰寫cgi script外, : 也可以直接用c寫,c裡面可以崁入asm,更甚至你直接用asm寫執行檔, : 給cgi去跑也是ok.... 就看過有教學教你如何在win32上寫asm給cgi印hello word, : 然後處理post跟get讀取. : 不過cgi這種運作概念就有它的天生缺陷,比較後期的技術叫fastcgi, : 其實fastcgi我個人是很看好,只是跟後來出的網頁技術相比,大時代潮流和硬體性能提升, : 大家就比較不在意了和鑽這種牛角尖了... 我覺得fastcgi還滿強的, : 是那種執行第一次就掛載到記憶體(底下印象有誤請修正一下) : 永存的東西,所以IO時間就是記憶體存取的時間,印象中大概架構是 : //never stop : while(true) : { : wait for request : . : . : . : } : 如果有一個變數叫counter是廣域變數,初始為0,啟動網頁++一次, : 傳統cgi每次執行網頁process重建 , print出來都永遠是 1 : 而fastcgi你執行幾次, counter出來就一直累積下去..... : 如果這種東西改用asm,應該更可怕..... : 重覆啟動直譯器讀SCRIPT時間省了 : 或是VM處理bytecode時間也省了 : 反正就啟動 程式就掛住 : 我相信應該有不少特殊網站是fastcgi+c的技術,不過用組語的就不太清楚了... : 只是據說組語寫得爛,效率可能會比C加優化出來效果差就是. : 其實如果要再極端一點,我覺得直接把WEB SERVICE跟動態網頁直接綁到 : http server程式核心的部分去(當然如此一來變成要自撰夠穩固的http server了...), : 少掉幾層中介,應該又更快了. 以下會含有大陸術語, 請海涵. 基本上, 想要快速處理request, 不要去鉆語言執行效率的牛角尖, 而要從算法上著手. 如果真的需要那麼高的效率, 使用C語言足夠, 現有編譯器的能力已經可以讓C語言的目標 代碼足夠優化到你手工寫也不過如此的地步. 實際上, C語言的設計目標就是"可以run在各 種platform的assembly." (好多術語不知道台灣講法, 只好中英夾雜了) 而解釋器和vm也常常會採用jit的技術, 省去解釋bytecode的時間. 另外就是, http server確實也提供了接口讓你去直接擴展server, 以滿足高效處理 request的需求, 比如apache就提供了module機制. 但是, 真的不用這麼極端, 因為大多數情況下, 你的瓶頸會是在database和io, cache是解 決問題的良方. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.246.97.136

07/01 13:49, , 1F
除了cache外,就是設計了,包含使用的model跟演算法
07/01 13:49, 1F

07/01 13:50, , 2F
不過現今碰到的問題似乎都是request數量
07/01 13:50, 2F
文章代碼(AID): #1Hq4Ez4c (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1Hq4Ez4c (Soft_Job)