老话重提,让你的网站打开的更快 - 天下武功,唯快不破

2015-01-10 10:31:20 +08:00
 soulteary
稍后补充大家诟病的wordpress的实际案例...

https://gist.github.com/soulteary/abe2955de52ad33a3ac8
10241 次点击
所在节点    分享创造
74 条回复
soulteary
2015-01-10 12:30:35 +08:00
@kmvan gulp build后,然也,gulp build前,定然不是。另外追求杰作神马的,涉及到过渡优化了。
yytsjq
2015-01-10 12:37:51 +08:00
WordPress 如何启用 Memcached 内存缓存
http://blog.wpjam.com/m/wordpress-memcached/

WordPress 内存缓存终极加速插件:Batcache
http://blog.wpjam.com/m/batcache/

这样 WordPress 自身就足够快了吧。。
soulteary
2015-01-10 12:42:13 +08:00
@yytsjq 缓存只是其中之一,还差得远,原文提到了11点...
kmvan
2015-01-10 12:43:59 +08:00
@soulteary gulp build后,然也,gulp build前,定然不是。另外追求杰作神马的,涉及到过渡优化了。
非过度优化。一款主题,你需要的是保证无论在虚拟主机或 vps上,都能正常跑起来(除去php版本需要)。首先要保证能work,才能进行 optimize~。也就是兼容性,不同的环境和组件有不同的兼容方案,这个应该是基本吧。
typcn
2015-01-10 12:53:03 +08:00
不如真的把页面缓存起来,编辑或发表的时候自动刷,毕竟是博客不是论坛。

做那么多优化有什么用,关键就是
1.不要使用 wordpress
2.不要使用外链,就算使用也要异步加
3.使用国内服务器,有条件的话买cdn
4.渲染出的内容进行缓存,而不是缓存数据库中的数据

http://blog.eqoe.cn
单核服务器,博客程序占 80-200 mb 内存,不加 cdn 800rps,加上的话那就是 cdn 承受量了,与程序无关。
wsph123
2015-01-10 12:56:02 +08:00
soulteary
2015-01-10 13:01:48 +08:00
@kmvan 首页queries 9,其他页面皆10。服务器上,每小时mysql传输内容数量2M。

关于主题要做到哪些,不做到哪些,面向哪些人群,这个是开源后的事情,针对个人而言,3台VPS+两台电脑可以随意切换,已经足够了。


@typcn 我发觉论坛多数人都是急性子,会先吐槽先看(or不看,233)你说的,文内都有,你没说的文内也有粗略提到一二。

关于内容cache上面提过了,就不重复了。

不提带宽,枉提qps...
typcn
2015-01-10 13:08:47 +08:00
@wsph123
我用的 pad 没法看源代码。
看回复大概是 读取json,我不觉得你这样好,搜索引擎真的收录困难。

我博客是,搜索引擎抓取静态内容,支持 html5 的浏览器点击链接后读取 json 进行加载。
然后国内解析到百度 cdn,国外解析到 fastly ,全部设置缓存。

我写完这个博客系统都没敢来 v2 发,默默的传了 github,因为后台有点残缺,还有点 bug,没 rss。
kmvan
2015-01-10 13:09:31 +08:00
程序放出来吧,我本机跑一下就知道快慢了。
soulteary
2015-01-10 13:11:16 +08:00
@wsph123

- 脚本方面似乎还需多下功夫,```Uncaught ReferenceError: $ is not defined```。
- 针对自己内容的受众群体做优化没有问题,如果只是一时把玩不考虑蜘蛛也无妨。
- 文件IO不会快过内存IO。
- 基于内存的cache更便于修改。
typcn
2015-01-10 13:16:40 +08:00
@soulteary 我说了我加了 cdn,我的博客服务器是 2m 带宽,800 rps 是本机测出来的。
我只是吐槽楼主说的太多了,太多没有必要的。我全文看了。
我的 2m 带宽博客 + cdn ,在 12306 查询火了的那一天,几十万 ip, cdn 后台显示 2.1 亿请求 (当然包括攻击的),虽然卡死了一会,但是把 mysql 换成 redis 进行泄漏查询后依然可以秒开了。
soulteary
2015-01-10 13:18:27 +08:00
@typcn 其实页面做好 _escaped_fragment_ 标记,蜘蛛是可以收录的。

或者提供sitemap对蜘蛛提供单独的版本以及rss全部输出。

聊好不好,还是看需求和受众,如果受众没有IE8以及以下,以及古老的客户端等(文内我记得提到了。)

那么你使用新的history对象没有问题的,否则要各种shim了,包括基础库。
typcn
2015-01-10 13:21:10 +08:00
@soulteary 我没用 shim,你可以看除了 jq 和 svg 我没有调用任何库, css js 都是自写,很精简。

你可以看 scripts.js 我是检测到 history.pushState 对象存在的情况下才会开启 ajax 加载,否则静态。
emric
2015-01-10 13:24:03 +08:00
讨论也要拿出讨论的态度对吧, 总之替楼主觉得不爽.
soulteary
2015-01-10 13:24:04 +08:00
@typcn 必要相关性这点,各人看法不同而已。

你用的百度CDN的G点有点高啊... AB的时候直接提示验证码了...
soulteary
2015-01-10 13:28:29 +08:00
@emric 谢,:D,不必抱着一定说服他人的想法,然后再看事情,一切就都淡定多了,努力找别人提到,而自己没有做到的地方,或者没完全实现的地方,感触会是另外一种。诸如上面的回复列表,好多都命中我的todo列表,更多的异步内容加载,和后台完善,部署更简易= =...

@typcn 还是刚刚说的话,要看你的需求和内容受众。
soulteary
2015-01-10 13:30:33 +08:00
@wsph123 可以考虑一下 https://developers.google.com/webmasters/ajax-crawling/docs/getting-started 以及文内提到的客户端cache(当然,最好配合服务器三方模块,使用大量200cache)
typcn
2015-01-10 14:15:48 +08:00
@soulteary F5刷几下就出验证码了。哈哈

本地缓存这种东西很蛋疼,比如你写错了,发现之前说错了,需要更新,你都没办法刷。
wsph123
2015-01-10 14:22:27 +08:00
@typcn 搜索引擎收录的为啥不是静态页~
soulteary
2015-01-10 14:24:44 +08:00
@typcn 所以推荐内存缓存,flush_all/flushall,妥妥的,而且基于时间的话,缓存下来的db真的不大,重启后预热也很快。

扯个闲的,国内政策越来越紧了,想正儿八经的用个国内CDN都得要备案号,前一阵想再备案一次(真的是应该养着07年的老备案号....),然后看到大家有遇到缴纳培训费的,有被各种相关部门计划掐油的,想想,有这些个幺蛾子,真不如国外扔DO或者github page上,国内扔BSP算了。

阿里云根据机房IP段概率性不能git clone...搭自己环境得各种scp,于是果断放弃了。
或许把ghost改完后,一时闹热就搬回来了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/160825

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX