用 ThinkPHP 这样的框架开发门户网站,有什么缺点?
程序员文章站
2022-05-20 18:38:33
...
相比自己纯源开发来说,用thinkphp肯定开发速度会快些但对于长期运行,以后可能会有很大访问量的门户网站来说,用thinkphp框架会有什么缺点吗,比如执行速度,负载等方面
国内使用情况
thinkphp可以说是国产最热框架,各大公司都在用,更别提个人了.
我知道的金山,腾讯,dnspod都在用,我也在用.
原则就是团队对什么技术掌握的最多,就用什么技术,换成框架来说就是团队对某个框架最熟悉,那么就用这个最熟悉的框架
框架对比
php的框架五花八门,重型的zf,symfony2,流行的ci,yii,Larave
高性能版的C语言写的php扩展.国外Phalcon,国内鸟哥的 Yaf,也是微博使用的
这里未列出的还有好多好多.还有很多高手自己维护自己的"框架"
这些个框架国内都有人使用. 至于选什么框架,完全看自己技术团队的技术实力,以及评比结果那个更适合自己.
用php的网站来说
性能再差的php框架可以用系统构架来做。高并发的网站不是一台机器来抗.
多机php负载均衡.
先抗住再优化.
好多公司都几十上百台了php才来做大规模的调优,对非常消耗cpu的地方来重点优化,和重构,或者其他语言重构. 当然优化也是从编码 到上线 监控日志. 优化是长期不断的过程.也不紧紧是一次大规模重构.
抽离静态资源. 会话session,可以放在redis memcache中去.
数据库读写分离. 读多机群集.
上redis 等NoSql把热数据堆这里来.
启用cdn系统加快静态文件分发. 小规模三方,大规模自建.
用thinkphp一样可以高并发,就是看你怎么做构架了.
以上简单一说.
总之就是
系统瓶颈不在语言或框架上,而是在构架上.
好的构架不就是堆机器么. 看人了。还是应该先开发出来。开发时获取数据这一块注意不要跟数据库强耦合,不要不加处理直接使用以数据库的字段为key的数组。因为以后有量时十有八九要分表、加缓存、换 NoSQL 等等。 TP是一个很好的框架,我们已经有很多这样的成功产品,等你的网站流量很大的时候就不是框架以前哦去解决的问题了 php的速度瓶颈绝对不是在执行上面,不然他也不会成为一种不用编译,而是每访问一次编译一次的语言,php优点就是执行特别快,这个和框架无关,我觉得php的速度瓶颈在数据库,如何更加高效的存储和读取,以及分类数据,是更重要的。所以数据库的设计要好好研究一下,当然,还有上面说的,各种缓存技术,无论是转静态也好,还是服务员缓存技术也好,都是不错的方法! 这一块看构架。有一些问题需要优化,例如本地写的的问题。
例如,超大访问量对于nosql的考虑,队列的考虑,分库分表的考虑。
这是程序方面。
构架方面自己需要分情况去看 如何tp不能再用了,说明 你们的钱也有了。 TP的响应速度相比其他的要慢很多,开发速度上,比其他的上手快很多,看自己的项目了。不过TP是开源的,有些东西可以自己把控。 如果单纯从业务来看,门户网站的业务逻辑足够简单,TP可以完全胜任。如果说关于这个性能啥的,我还真的不认为TP会成为性能的牺牲者。哪有门户网站不做缓存的,都缓存了,框架性能就不是第一要素了。
而且,基本上也不可能单纯用PHP来完成一个门户,还有更多,比如sync,C扩展、数据库同步等等。 会有很大负载的网站,前台根本就不能用tp,任何框架都不可以。 框架带来开发便捷的同时,会有性能损耗。 建议使用开源CMS,部分模块二开。完全用TP来做,周期长,易用性低。架构做得好,执行速度和负载没问题。
回复内容:
就php框架本身来说国内使用情况
thinkphp可以说是国产最热框架,各大公司都在用,更别提个人了.
我知道的金山,腾讯,dnspod都在用,我也在用.
原则就是团队对什么技术掌握的最多,就用什么技术,换成框架来说就是团队对某个框架最熟悉,那么就用这个最熟悉的框架
框架对比
php的框架五花八门,重型的zf,symfony2,流行的ci,yii,Larave
高性能版的C语言写的php扩展.国外Phalcon,国内鸟哥的 Yaf,也是微博使用的
这里未列出的还有好多好多.还有很多高手自己维护自己的"框架"
这些个框架国内都有人使用. 至于选什么框架,完全看自己技术团队的技术实力,以及评比结果那个更适合自己.
用php的网站来说
性能再差的php框架可以用系统构架来做。高并发的网站不是一台机器来抗.
多机php负载均衡.
先抗住再优化.
好多公司都几十上百台了php才来做大规模的调优,对非常消耗cpu的地方来重点优化,和重构,或者其他语言重构. 当然优化也是从编码 到上线 监控日志. 优化是长期不断的过程.也不紧紧是一次大规模重构.
抽离静态资源. 会话session,可以放在redis memcache中去.
数据库读写分离. 读多机群集.
上redis 等NoSql把热数据堆这里来.
启用cdn系统加快静态文件分发. 小规模三方,大规模自建.
用thinkphp一样可以高并发,就是看你怎么做构架了.
以上简单一说.
总之就是
系统瓶颈不在语言或框架上,而是在构架上.
好的构架不就是堆机器么. 看人了。还是应该先开发出来。开发时获取数据这一块注意不要跟数据库强耦合,不要不加处理直接使用以数据库的字段为key的数组。因为以后有量时十有八九要分表、加缓存、换 NoSQL 等等。 TP是一个很好的框架,我们已经有很多这样的成功产品,等你的网站流量很大的时候就不是框架以前哦去解决的问题了 php的速度瓶颈绝对不是在执行上面,不然他也不会成为一种不用编译,而是每访问一次编译一次的语言,php优点就是执行特别快,这个和框架无关,我觉得php的速度瓶颈在数据库,如何更加高效的存储和读取,以及分类数据,是更重要的。所以数据库的设计要好好研究一下,当然,还有上面说的,各种缓存技术,无论是转静态也好,还是服务员缓存技术也好,都是不错的方法! 这一块看构架。有一些问题需要优化,例如本地写的的问题。
例如,超大访问量对于nosql的考虑,队列的考虑,分库分表的考虑。
这是程序方面。
构架方面自己需要分情况去看 如何tp不能再用了,说明 你们的钱也有了。 TP的响应速度相比其他的要慢很多,开发速度上,比其他的上手快很多,看自己的项目了。不过TP是开源的,有些东西可以自己把控。 如果单纯从业务来看,门户网站的业务逻辑足够简单,TP可以完全胜任。如果说关于这个性能啥的,我还真的不认为TP会成为性能的牺牲者。哪有门户网站不做缓存的,都缓存了,框架性能就不是第一要素了。
而且,基本上也不可能单纯用PHP来完成一个门户,还有更多,比如sync,C扩展、数据库同步等等。 会有很大负载的网站,前台根本就不能用tp,任何框架都不可以。 框架带来开发便捷的同时,会有性能损耗。 建议使用开源CMS,部分模块二开。完全用TP来做,周期长,易用性低。架构做得好,执行速度和负载没问题。
上一篇: php防止XSS脚本攻击的方法