1. 知乎有时候打开一个链接非常之慢,大量评论展开更是无法忍受。有时页面刷新完了,点任何连接都没有响应。
2. 豆瓣经常挂掉,502 之类的(当然我知道这个跟 python 无关),也存在同样的问题,时不时会响应非常慢,一个页面等待 10s 以上。
3. v2ex 相比来说要小一点儿,也是类似的问题,但它时快时慢跟网络环境关系差别巨大。
======================================
天天刷网页,这三个网站卡顿是很明显的现象。
如果没遇到这个问题请不要捣乱。
而且我没有推导出跟语言『有关』,我在询问『是否有关』。
A、B、C 使用了同一种技术,有同样的症状,难道不能怀疑这种技术 普遍/很可能 存在这样的症状么?
为什么当年 twitter 从 ruby 迁移到了 java ?
回复内容:
再补一刀吧,之前没看到。虽然我用豆瓣从没碰到过 502
但是,如果你真的碰到了,而且确信这个 502 来自豆瓣的前端 HTTP 服务器
那么这是唯一一个 可能和后面 Python 有关的现象。
------------
一个网站是不是卡顿,可能的情况太多,随之带来的细节表现不同都是可以值得分析的问题。
- 线路
- DNS
- CDN / 文件服务
- 静态资源
- 动态资源
- 缓存同步
国内出名的南北分裂、电联分裂。虽然这些年很少再听到集中讨论这个问题,但真碰到谁家没做好双线机房设置也只能自认倒霉是不?去 ping 一下网站域名,看看 ping 的延迟,如果异乎寻常的大(比如数百毫秒到 1 秒以上,多半是这里的问题)。
DNS
其实和线路一样相关。好的 DNS(e-DNS 扩展)会根据用户当前位置,为用户分配合适的服务器。当然如果不支持 e-DNS 是没办法的,服务器只有一个 IP 也没什么可以做的。
CDN / 文件服务
CDN 是将一时不会改变的静态内容发放给用户的最重要渠道。文件服务(Amazon S3 等)通常与 CDN 做类似的事情 / 与 CDN 搭配使用。CDN 通过动态缓存静态文件到所谓的 edge server - 通常是位于靠近 ISP 接入的机房,使用户访问这些资源的路径更短、延迟更低。同时因为 CDN 的巨大主机数量,正确使用也可以降低网站本身服务器压力。知乎的图片来自 http://p4.zhimg.com 等一系列域名,这些域名实际上是重定向到云存储 / CDN 的主机去,譬如知乎:
$ nslookup p3.zhimg.com
Server: 192.168.1.1
Address: 192.168.1.1#53
Non-authoritative answer:
p3.zhimg.com canonical name = d.qiniudn.com.
d.qiniudn.com canonical name = wsall.36tr.com.wscdns.com.
wsall.36tr.com.wscdns.com canonical name = 08911.xdwscache.glb0.lxdns.com.
Name: 08911.xdwscache.glb0.lxdns.com
Address: 122.228.218.146
1、简短回答:不是Python导致的,我这里豆瓣非常快,但知乎好像真的有点卡顿的现象(也有可能看到问题之后才脑补意识到的.......).
2、为什么不是Python导致的
或者说,任何一个网站很卡,都不大应该说是其后端的某个语言导致的(虽然写的很烂确实会导致卡顿,但知乎之类的肯定不是这个原因),对于知乎这类访问量很大,同时又大量文本内容的网站,会大量使用Cache,也就是说直接从内存取数据不再频繁访问数据库,从这个层面基本各个语言都不会差太多,甚至HTML页面也都是cache出来的.
3、是什么导致了卡顿
很有可能是大量的Ajax请求导致的,我注意到鼠标移动到人名、话题上的时候都会触发3个新的Ajax请求,新进入一个页面大约有30~40个HTTP请求发出去,虽然数据量不大,但如果浏览器性能较差或者系统分配给浏览器的内存不足,频繁的调用Ajax可能就会需要等待其他地方释放一点内存。
我没有仔细看,但似乎有些知乎的页面是整个HTML页面都是Ajax异步渲染的,由于dom树的构造也很耗费性能,所以如果机器过老,或者网络太差都会出现这个问题.
4、如何解决
其实我并没有特别留意到楼主说的卡顿现象,解决方法可能就是升级机器吧......对于知乎来说,可能需要考虑部分网络不好的用户,尽量少的发送HTTP请求,一个页面30多个请求我感觉还是蛮多的.
或者学习Quora进行延迟加载(直观的猜测),就是不要进入页面的时候把Ajax请求一口气全发出去,而是先等用户进入页面(比如8个请求的时候),然后页面基本信息渲染完毕后再依次发送其他Ajax请求。 终于明白为什么上不了YouTube了 我还想补充一下,php也是垃圾啊,facebook那么大的网站,用php做的,根本上不去嘛。 知乎一直时好时坏,有时翻墙才能上。和Python无关吧,也许是被攻击了呢。 武功差不要怪手上的兵器,
网站慢不要怪所用的语言。 我感觉google也做的挺烂的,以前偶尔能上去,现在完全上不去了。 "屙屎不出赖地硬" 怪毛线语言,都是习惯问题。 首先,说Python慢,这是和编译语言比,比如与C,C++,Java比,在动态语言中,它并不慢,它比Ruby要快,它和Perl性能相当。如果选择动态语言的话,Python并不是很慢。另一方面,如果做网站开发,语言的不是速度的瓶颈,比如现在用Python写的程序全部用C写,程序当然会快一点,但是改变不是很大。Web网站一般会有很多对IO的操作,比如对数据库的访问,对硬盘的访问响应用户的请求,80%,90%你的时间都花在IO上,语言的速度,相对而言,不是那么重要。也可以这样说,网站的性能主要取决于架构设计的是否合理。因为网站需要响应大量的并发的请求,如果你的设计的不好,即使你用C写的,也可能无法应付。所以更多的考虑是在架构设计上,要使架构体系不会产生速度瓶颈。

Python在web開發、數據科學、機器學習、自動化和腳本編寫等領域有廣泛應用。 1)在web開發中,Django和Flask框架簡化了開發過程。 2)數據科學和機器學習領域,NumPy、Pandas、Scikit-learn和TensorFlow庫提供了強大支持。 3)自動化和腳本編寫方面,Python適用於自動化測試和系統管理等任務。

兩小時內可以學到Python的基礎知識。 1.學習變量和數據類型,2.掌握控制結構如if語句和循環,3.了解函數的定義和使用。這些將幫助你開始編寫簡單的Python程序。

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...

Python3.6環境下加載Pickle文件報錯:ModuleNotFoundError:Nomodulenamed...

如何解決jieba分詞在景區評論分析中的問題?當我們在進行景區評論分析時,往往會使用jieba分詞工具來處理文�...

如何使用正則表達式匹配到第一個閉合標籤就停止?在處理HTML或其他標記語言時,常常需要使用正則表達式來�...

攻克Investing.com的反爬蟲策略許多人嘗試爬取Investing.com(https://cn.investing.com/news/latest-news)的新聞數據時,常常�...


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Atom編輯器mac版下載
最受歡迎的的開源編輯器

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

記事本++7.3.1
好用且免費的程式碼編輯器