web制作过程中的速度探讨
涉足web制作近五年时间了,虽然,接触互联网的时间也不过六年,总的来说,成长还是比较缓慢的,无论是asp还是php,再或者是aspdotnet,当年师兄第一次带我时就让我直接学aspdotnet,后来才知道,真应该从那里开始,培养一种更和谐的编程习惯。
研究过很多成功的例子,那么,套用某伟人的话:我们是站在了巨人的肩膀上。无论是门户型的新浪,腾讯再或者是网易搜狐等,新闻这一块无外乎都是用的html静态缓存,再通过js异步调用数据库里面的动态内容。这是大型网站的作法,那么小型网站呢?我整个网站只有2000条信息,全部html缓存,都比较简单,只是,这样子有意义吗?2000条信息,每条信息在线10个人,才20000同时在线,要知道腾讯qq前段时间已经突破5千万同时在线,2000信息量的网站,有必要为速度考虑吗?况且,你能达到这种地步吗?虽然,看起来不怎么需要,不过,实际使用中的缓存思路提高网友访问速度还是必要的,标准的w3c代码,零垃圾代码,让网友看到的页面,就是最高效的页面,这是其中一部分,考虑到seo,除了高效,网友实际使用过程的感受,还有,对搜索引擎的友好,有十个人记住你的网站,每天来一趟,来十趟,你也赶不上新浪或者腾讯的一个频道流量。于是乎,搜索引擎,一定要对搜索引擎友好,才能实实在在的提高访问来源。
速度,关键还是速度,要不然,一些门户网站也不至于一年花n多钱去买带宽,让互联网任一地点访问它的网站都不慢。举个例子,腾讯qq在线五千万,要是,它只有一台pc机做服务器,那必然是,99%的人登陆不上去,连续两天,你看还有网友去用它qq不,这里另外提一点,移动飞信,说实话,不怎么样,在pc上面登陆经常掉线,要不然与手机号捆绑,你看它能成功?
我从07年毕业就在开始自己一套后台的设计,从asp到php再到后来的aspdotnet,虽然简单,不过,逻辑合理,效率高,体验好。三种语言无差别操作习惯,零时间换后台。这一块做好后,是会员还是速度?当然是速度,速度是生存之本,会员?当今互联网已经有腾讯这个超强的会员系统了,注册用户几个亿,在线五千万,再做会员,实际吗?
现在来看速度,的另一个方面,从底层的技术层面上去提高速度。
asp,asp里面有个command,是专门为处理大容量数据而设计的,经过测试,的确是速度一流,读取40万数据时间为2秒,表现可谓相当优秀了,同等条件下php读取一万数据大概耗时20秒,aspdotnet没有测试过。
php,目前php提升速度,就是一个zend比较流行,其它的,就只有用物理文件缓存了。实战测试中,通过物理文件io读取速度,大概为直接读取mysql的速度的十分之一,不过,测试结果,基本没有用,因为,不管怎么样,一个新闻性网站,总要有部分实时更新的,能全部用物理文件存储?这个看起来比较悬。至于phpwind,discuz等论坛的缓存机制,还没有研究透彻,等有时间再研究。
aspdotnet,dotnet里面,每个服务器控件都会生成一部分代码,占用很多html下载空间,解决办法仍然是用缓存,缓存,一个好听的名字,还没有研究透彻。
努力