PHP 是读取数据库在模版遍历快还是 从文件读取html快? 财富值76

2016-09-27 18:55发布

之前在做一个商城网站,有一个模块是定制首页,时间赶直接提取页面html内容用php写进文件里,首页读取的时候,再读取那个文件输出给模版。题目的读取数据库指读取定制数据,不是html内容。

现在不赶时间了,想知道:

  1. 如果在多人访问并发高的情况下,是读取文件快?还是从数据库读取数据快?

  2. 如果写入文件内容多,文件比较大的情况是不是读取时间慢?

  3. 我用的TP框架,直接在模版里<include file="Public/**" />会不会更好

  4. 再问一下,想测试并发要怎么测试?要搜哪些关键词?

ps:刚出来工作的小白,求回答指教

20条回答
helloshirl - 这个人很懒,什么都没留下
1楼 · 2016-09-27 19:29.采纳回答

针对你的问题,

所以,你问题的答案:HTML 是最快的,都无需执行PHP,但是需要提前生成好

并发测试的话, Linux和Darwin(OS X)内核系统可以用ab 命令(ApacheBench), 如:
ab -k -n 1000 -c 100 "http://www.baidu.com"
// 发起1000个请求, 每次并发100(该值有会有上限, 视系统设置, 一般默认为256)

高并发的情况下,直接数据库肯定会很慢,至少在数据库上有一个Cache层,Cache层效率:

伪静态

你这是include一个模板文件,也就是PHP执行的include,效率等同PHP的include
如果访问的页面全部静态文件,需要嵌入子模板的情况,SSI(ApachenginX)会比PHP的include快很多

文件读取时间自然取决于文件的大小,但是如果文件中所有的内容都是你想要的,这个时间自然是不可缺少的。如果你只想读取部分的文件内容,可以通过seek来移动文件指针。

看你的需求貌似还有生成静态文件的步骤,这里提供你几个关键词:

如果读取的文件(特指PHP文件)比较大,考虑开启OpCache加强速度

并发测试,从关键词apache benchmark开始,接下来你会搜到很多你想要的内容。

一周热门 更多>