[转]ASP.NET MVC3 + EF 性能优化解决方案以及最优架构
我们用 asp.net mvc3 + ef 做了一个网站,现在是内测阶段,发现打开速度非常慢。首页打开(无缓存)都在5-6s以上(测试环境:程序和db都在本机),请问各位 mvc3+ef 比较适合大多数项目的架构是怎么样子,能否给个截图说明各个项目的意思。
另:各位用 mvc3 ef 开发的网站性能究竟如何,怎么优化呢??
第一次用 ef ,第一个项目用 mvc,无从下手!
0
首次启动是会很慢,后面再打开页面的时候就快了。
1.对常用数据进行缓存。
2.在编写程序的时候避免不必要的分层,不合理的分层也会影响到性能。
3.你发布到外网上去,然后把地址告诉我们,我们来看看,哈哈。
4.将JS写成公用的,并放到单独的js文件中。
如果不是必须要加载时才执行js,建议将 js 放置在页面尾部。
5.减少aspx 设计页面中不必要的注释,将不用的控制都删除。
尽量多使用HTML控制,少使用服务器控件。
6.合理的配合使用Ajax,可以提升用户体验。
7.优化数据库,对频繁使用的表加索引。
8.我还是缓存,其实我上面有说到过,在此再强调一下。
9.常用的查询语句最好做做成存储过程,EF是可以调用存储过程的。还有可以做视图,EF了同样支持对视图的处理。
10.对于复杂的业务,比如5个表以上的关联查询,建议用sql来实现,EF在多表关联方面,会生成非常复杂的Sql语句,虽然生成的语句也不差,但是相比咱自己写的,我觉得自己写的还更好些。(强调,我是说的极多表关联的时候)
0
0
你的问题恐怕还没到架构的层面,你首先得从你的首页的流程开始分析整个加载过程,哪些部分占用了多少时间。
0
0
0
asp.net mvc3 首次访问速度慢
第一:iis会定时释放已加载的类库。类库被释放后再次加载需要时间。
第二:EF首次访问速度确实比较慢!楼主可以随便写两个ADO.NET 的数据连接对比一下。
先在点想放弃EF的想法。
楼主有什么高见请随时贴出来,让我们学习一下!
[转]ASP.NET MVC3 + EF 性能优化解决方案以及最优架构的更多相关文章
- ASP.NET26 个常用性能优化方法
数据库访问性能优化 数据库的连接和关闭 访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源. ASP.NET中提供了连接池(Co ...
- EF性能优化(一)
一:背景 说到EF的性能问题,我相信都是大家比较头痛的问题,有很多初学者望而却步,可是每每菜鸟在群里面抱怨EF太慢的时候,这个时候总有一些大牛登场说一句:怪EF咯?怪你不会用! 当然我从未嫌弃过它,因 ...
- Spark记录-Spark性能优化解决方案
Spark性能优化的10大问题及其解决方案 问题1:reduce task数目不合适解决方式:需根据实际情况调节默认配置,调整方式是修改参数spark.default.parallelism.通常,r ...
- CSS3 动画卡顿性能优化解决方案--摘抄
最近在开发小程序,与vue类似,它们都有生命周期这回事. onLoad 监听页面加载 onReady 监听页面初次渲染完成 onShow 监听页面显示 到底是什么意思? 所以这又触碰到了我的知识盲区, ...
- Web项目开发性能优化解决方案
web开发性能优化---安全篇 1.ip验证 2.操作日志.安全日志.登录日志 3.SQL注入校验 4.权限管理 5.验证规范(前端.后端.数据库约束) 2014-10-29 08:04 2773 ...
- Spark性能优化:开发调优篇
1.前言 在大数据计算领域,Spark已经成为了越来越流行.越来越受欢迎的计算平台之一.Spark的功能涵盖了大数据领域的离线批处理.SQL类处理.流式/实时计算.机器学习.图计算等各种不同类型的计算 ...
- IoC~MVC3+EF+Autofac实现松耦合的系统架构
MVC3+EF+Autofac网上这种文章确实没有,呵呵,今天就写一个,代大家分享! 这个系列的文章将带我们进入一种新的开发模式,注入开发模式,或者叫它IOC模式,说起IOC你可以这样去理解它,它为你 ...
- 性能优化之MySQL调优篇
MySQL对于很多Linux从业者而言,是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰.在进行MySQL的优化之前必须要了解的就是MySQL的查询过程,很多的查询优化工作 ...
- EF性能优化-有人说EF性能低,我想说:EF确实不如ADO.NET
十年河东,十年河西,莫欺少年穷. EF就如同那个少年,ADO.NET则是一位壮年.毕竟ADO.NET出生在EF之前,而EF所走的路属于应用ADO.NET. 也就是说:你所写的LINQ查询,最后还是要转 ...
随机推荐
- github-ssh
# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: ...
- SharePoint 2013 版本号和相关问题介绍
今天查SharePoint 补丁,无意间发现一个非常好的链接,分享给大家! 这里面有SharePoint近期的版本号,而且不断更新,还有每个补丁可能带来的问题,对于服务器经常需要打补丁的那是非常有用, ...
- 【即时通讯】XMPP调试与简单使用
上篇讲了[即时通讯]即时通讯及XMPP概述及环境配置,接下来我们就要进行调试,看看是否可用! 在测试之前我们需要先事先保存一些东西,以便后面使用 —— 登录openfire后台 ——获取服务器名和端口 ...
- iOS 设置系统屏幕亮度
// 设置系统屏幕亮度 // [UIScreen mainScreen].brightness = value; // 或者 [[UIScreen mainScreen] se ...
- C语言中的复合类型
复合类型 一.掌握的类型 1. 指针数组 int * arr[10]; //arr是一个数组,有10个元素,每个元素都是一个指针,即arr是一个指针数组 int a,b,c,d; arr[0] = & ...
- C++语言-07-异常处理和信号处理
异常处理 概述 概念 异常是指在程序运行时发生的特殊情况,C++ 中提供了一套异常处理机制,标准库 提供了异常处理的基础 作用 异常提供了一种转移程序控制权的方式 与异常处理相关的关键字 throw ...
- android Gui系统之SurfaceFlinger(2)---BufferQueue
6 BufferQueue 上一篇已经说到,BufferQueue是SurfaceFlinger管理和消费surface的中介,我们就开始分析bufferqueue. 每个应用 可以由几个Buffer ...
- php示例代码之类似于C#中的String.Format方法
php示例代码之类似于C#中的String.Format方法 原文来自于 http://stackoverflow.com/questions/1241177/c-string-format-equ ...
- 揣摩实现一个ioc容器需要做的事情
思路: ioc框架的核心就是管理bean的生命周期,bean的生命周期包括:创建,使用,销毁. 创建 容器在创建一个bean的实例之前必须要解决以下问题:第一个问题: 创建bean的信息如何提供给你容 ...
- 持续集成(CI)初探
前不久接触了持续集成(Continuous Integration,CI). 一.持续集成是什么 首先说说“集成”的概念.在实际的软件开发中,常常会发生两种情境: 1.几个项目组对同一个系统的不同功能 ...