知乎響應這麼慢是因為使用了 Python 語言嗎?

每天花 8 個小時逛知乎,大概有 4 個小時等待頁面載入,這麼慢是因為知乎代碼主要是用 Python 寫的嗎?


決定網站性能的主要因素是架構,然後是代碼水平,最後才是語言


首先,這跟語言沒關係。然後,我想說的是:
其實讓我無語的不是知乎數據響應速度(非網速),而是知乎的抽風頻率。
最常見的就是「知乎提了個問題,正在緊張的撰寫答案...」
更加無語還碰到過點「發布回答」按鈕時無反應,怎麼都無反應。F12 看一下 Ajax 請求的響應發現居然返回了一個錯誤頁面(源碼)而不是 JSON,然後前端沒有做任何處理... 我想想應該保存了草稿吧,那就下次發布好了,然後奇葩的發現「保存草稿」居然也響應錯誤頁面...
還有就是知乎偶爾半天頁面刷不出來(在凌晨左右常見),應該不是 CDN 原因。我估計那種時候多數都在上線新版本吧,那你們的平滑發布做得不到位啊。
還有一個前端 BUG:在「編輯個人資料」頁面修改「個人簡介」,編輯框內不識別換行。也就是說每次編輯你都要重新換行一次。
順便提一個安卓客戶端 BUG:在某些時候客戶端死活顯示網路連接異常,不去請求任何數據,其實那時候網路已經好了。然後你得把知乎在多任務頁面移除掉,重新打開 APP,才能正常...

補充:
評論裡邊好多說安卓那個網路問題的是跟 flyme 之類有關的,也許知乎在 flyme 上的確有 bug 。但是我的手機是 nexus 並不是魅族,之前的安卓6 和現在的 7.1 系統都有這個問題。


數據都存不對的網站,能打開就不錯了。

都能出現-1條評論了,你還能指望啥?


是的,我每次打開 YouTube 也巨慢無比,有時候還打不開!

後來我一查原來 YouTube 後端用 Python 寫的,我想到了當初在知乎和豆瓣的經歷,所以肯定是 Python 的原因!垃圾語言!呸!


我很好奇,八小時使用,四小時等待頁面載入,你已打破吉尼斯用戶等待頁面載入的記錄,你是地球上最有耐心的人。

知乎並不慢,你感覺慢可以有很多原因,網路線路,操作系統資源,瀏覽器設置。


囧了囧 這麼水的答案就別點贊了

————————————————

題主說的很對,不僅僅是知乎,你看一下這個地球上主要語言是 Python 的網站機會都很慢。

像國內的豆瓣啊,伺服器經常就開個小差,知乎也是,伺服器總是要提出個問題來,這都是還是工程師牛逼的,絕大多數時候用戶還是可以正常訪問的。

你看看國外那些網站,Quora/Youtube/Instagram/Dropbox 這些公司,連上的上不去。當然這些公司都比較小,國內用戶是不屑於用這種小服務的。所以創業千萬不要用 Python,不然以後就這尿性。

還是大 JS 牛逼,地球上哪個現代網站不是用 JS 寫的???

另外問一下哪些公司服務端是用 JS 來實現的?(不要說內部工具)


不過要說py慢,那也輪不到nodejs來說吧……v8效率很高?欺負cpython沒有jit?nodejs不也就是多個libuv,然而py也可以用啊

然而知乎的問題難道不是土豆伺服器的問題么……

沒有什麼性能問題是加一倍伺服器解決不了的,如果有,那就三倍

--microsoft


我這的速度還挺好,就是有時候會當一下,但也算正常。
所以,先定個「知乎很慢」的前提,再狠狠刺一槍給Python,這殘忍了點。


網站是io密集型的東西,尤其是知乎這種用了大量微服務的,語言的計算性能有多好都得卡在io上面。


有語言方面的原因,但絕不是全部。初期用 Python 後來發展壯大的公司,幾乎都在壯大之後把性能敏感部分換了別的語言,比如 Dropbox(Go, Rust),Instagram(Hack, C艹),Quora(Cython, C艹),這不 Youtube 也把 Python 翻譯到 Go 執行了 https://opensource.googleblog.com/2017/01/grumpy-go-running-python.html 但換成別的語言也絕逼不會換成 js

補充:Twitter 從 Ruby 換到了 Java/Scala (Ruby:討論 Python 關我屁事啊。。。


並不是。其實知乎已經做的很好了。。首頁改版了,而且估計用了growth hack。知乎的前端門檻很高的,Cat Chen去面估計也進不去

應該是分散式伺服器中的一些因為某些bug或者停電掛了掉線;負載均衡壓力很大導致延遲上升。
考慮到PhP支撐了整個Facebook,Python的速度足以滿足這個大型多人區域網在線文本BBS了。。。


比起手機卡,WiFi不好造成的卡,開發語言的影響幾乎可以忽略。


如果樓主是個女孩,一定很萌吧!


能怪到語言層面也是夠了。。。

請深入反省你的架構是否合理,業務代碼是否有冗餘,天天換前端技術是否閑的蛋疼!


這麼直的鉤,還有這麼多人一本正經的回答,服了


略懂Python。純推測。

知乎網站性能一直是個問題。從來沒有明顯改善過。我推測可能跟知乎用的這個Tornado Tornado Web Server - Tornado 4.4.2 documentation 個框架有關。Tornado聽起來很牛X,但是從來沒有經過大規模商用。而知乎的全部代碼都構建在Tornado上面,改也沒法改,換也沒法換。估計這就是原因。


2017.1.7晚似乎崩潰了……


Facebook根本沒有響應...後來聽別人說Facebook大量使用PHP,哼,PHP果然是垃圾!


推薦看 《構建高性能web站點》
知乎的瓶頸 推測應該是數據 檢索 以及推薦演算法

---------------------------------------行吧 PHP是最爛的 你們滿意了吧
啥都得黑PHP一把 服氣了
我可得匿名了


不是,是因為你自己用了IE瀏覽器


推薦閱讀:

知乎用戶為何無法善待在知乎上做營銷的人?
如何看待文中的「大部分的知識付費其實都是大忽悠」?
有哪些明星曾被知乎捧上神壇,又被拉了下來,為什麼?
知乎上有哪些問題或者答案顛覆了你的三觀?
被知乎大 V 關注是一種怎樣的體驗?

TAG:知乎 | JavaScript | Python | 網站架構 |