Home  >  Article  >  Backend Development  >  面试题:系统访问量很大的情况下首先应该优化MVC哪层?

面试题:系统访问量很大的情况下首先应该优化MVC哪层?

WBOY
WBOYOriginal
2016-06-06 20:16:311179browse

面试题:系统访问量很大的情况下收应该优化 MVC 哪层?

请详细说明一下思路。

回复内容:

面试题:系统访问量很大的情况下收应该优化 MVC 哪层?

请详细说明一下思路。

个人觉得应该是C层,如果C层处理的好可以通过各种缓存来加快速度

其实我觉得应该先profile... 如果真的有比较傻的瓶颈可能不花钱就解决了.

如果一定要0知识判断就M, 这个搞定后另外两个scale out容易些. 花钱加机器能解决总好过花钱也不能解决.

M层。
首先,最耗资源的一般都是对数据库的查询。
其次,数据库服务器也是最贵的。
最后,view层是关系到用户体验的,不建议最先优化。

为什么总有这么操蛋的面试题,你他妈不说瓶颈在哪,就是一本正经地瞎扯淡。。。

控制器层,尽量减少请求数,请求意味着链接,线程,内存等资源的开销,比如tomcat使用nio。合并图片,js等静态资源,使用浏览器缓存,cdn加速等。靠,话说我吧控制器跟试图层搞混了。

应该从最容易着手的View层下手,解决用户的访问体验,先保证系统正常运行
加大服务器的访问带宽,设置系统访问缓存系统,调整WEB服务器的性能问题,调整负载均衡服务器等~~~
然后调整数据库访问,调优SQL,读写分离,分表分库,设置数据1、2级缓存~~~
然后再去检查代码是否有不合理等地方~~~~

个人觉得在MVC框架中,当访问量上升,最先优化的是M层,其次是C层。

原因:

当访问量上升所遇到的性能瓶颈一般会在数据库方面,而跟数据库最有关系的就是M层,想要治本就得从M层着手了,读写分离、调优sql等等都是解决方法。

而C层的优化就包括更优的缓存部署方案,业务代码优化等等。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn