求教现在处理大数据量的web开发,框架选择

问题描述

最近在做一个项目,使用的是flex+ejb+blazeds,通过weblogic发布但是客户端要求返回大量的数据,刷新时间还比较短,由于界面UI采用的是adobe flash builder开发,总感觉好像比较卡weblogic服务器用的时候,数据库查询页优化了很多,服务器自己也优化了下,但总是感觉采用的方式不对或者说设置的不够好,求教,对于数据量很大的实时反馈类web开发,还有什么其他好的框架或者说,原有基础上有什么要改进的 问题补充:有没有必要做集群呢?

解决方案

但是客户端要求返回大量的数据,刷新时间还比较短,由于界面UI采用的是adobe flash builder开发,总感觉好像比较卡 此处可以看出是flash卡 而不是你的后端卡你如何确定的你的服务器比较慢? 还是建议监控一段时间看看 问题在哪? 是页面的问题,还是服务端的问题。服务端可以考虑监控cpu Load average内存数据库慢查询网络IO等
解决方案二:
你可以通过查看服务器 内存,CPU,io占用,网络流量 具体判断是哪个地方问题对于服务器的优化,远比从硬件解决好很多如果大数据量,时效性不高,可以考虑分时段批处理盲目扩大集群,不是明智选择
解决方案三:
这样的设计本身就有问题。为什么每次都要刷新大量数据,为什么不只刷增量?
解决方案四:
第一要务是找出性能瓶颈在哪里,然后对症下药。是在前端展示,还是在服务端处理,还是在数据库访问。对于服务端,考虑使用数据缓存(如memcached)、反向代理服务器缓存(如Nginx)、集群+负载均衡(如LVS或自己实现)、静态资源与动态资源分离(Apache+Tomcat)等。对于数据库访问,如果成为瓶颈,如果是访问一张表很慢,可能要考虑水平切分;另外可考虑读写分离(读和写访问不同的库);还有如果表很多放在一个库里很慢,就进行垂直切分,按功能模块划分为多个库。数据切分后最大的问题是整合,可以自己实现,也可以考虑使用Amoeba或MySQL Proxy。一般,使用缓存的策略优于集群。先从软件的角度去解决问题,在无法满足更高需求的情况下才考虑增加硬件资源。
解决方案五:
首先定位问题。通过weblogic的console去看看队列有多少,每个队列的耗时。这样能够知道是weblogic是否有必要做集群。如果队列够用了,耗时比较长,那说明是获取数据占用时间长,做集群仅仅是负载分发、单点故障(如果你的队列总是堵塞,可以考虑做集群)。确定是取数据问题,就先要定位到底是取数据的sql执行太久,还是对数据有逻辑处理,如果sql执行太久,就优化sql(通过执行计划等工具来定位),如果业务逻辑处理太久,就打印时间戳。最后就是数据传输flex端展现,flex是使用什么方式与后台交互的,http?webservice?大数据量的话,建议不要通过webservice的soap协议,因为xml解析比较耗时。
解决方案六:
数据量很大,数据库压力怎么样?展示大量数据的时候,如果变动不大,建议使用缓存服务器,memcache之类的,第一次查询的时候把数据集放到缓存服务器,翻页的时候直接从缓存服务器取,除了第一次慢些,翻页的时候非常快。你用的flex,可以在页面初始化,组件还未完全展示的时候就触发后台去缓存这些数据,在组件初始化数据的时候就可以直接从缓存服务器拿了。

时间: 2024-11-01 21:52:25

求教现在处理大数据量的web开发,框架选择的相关文章

WCF大数据量压缩传输,web.config怎么配置?

问题描述 准备做个新的项目,因为wcf有数据传输的限制,所以准备压缩后再传输到客户端处理:有一个博客,是使用gzipstream压缩的,这里他说的只要引用dll,然后配置config就自动压缩解压了,但是这里报错:求助大牛,或者讲一下怎么在配置文件中自动压缩解压,还有就是大数据量传输用这种方式合适吗? 解决方案 解决方案二:自己顶,等待大牛!解决方案三:那个可以无视,可以正常运行的.解决方案四:引用2楼qldsrx的回复: 那个可以无视,可以正常运行的. 客户端引用服务就不行了...解决方案五:

ASP.NET 2.0数据教程之二十五:大数据量时提高分页的效率

返回"ASP.NET 2.0数据教程目录" 如我们在之前的教程里讨论的那样,分页可以通过两种方法来实现: 默 认分页– 你仅仅只用选中data Web control的智能标签的Enable Paging ; 然而,当你浏览页面的时候,虽然你看到的只是一小部分数据,ObjectDataSource 还是会每次都读取所有数据 自定义分页– 通过只从数据库读取用户 需要浏览的那部分数据,提高了性能.显然这种方法需要你做更多的工作. 默认的分页功能非常吸引人,因为你只需要选中一个checkb

大数据量下高并发同步的讲解(不看,保证你后悔)(转)

  对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了.而并发问题是绝大部分的程序员头疼的问题, 但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研究一下常见的并发和同步吧. 为了更好的理解并发和同步,我们需要先明白两个重要的概念:同步和异步 1.同步和异步的区别和联系 所谓同步,可以理解为在执行完一个函数或方法之后,一直等待系统返回值或消息,这时程序是出于阻塞的,只有接收到 返回的值或消息后才往下执行其它的命令. 异步,执行完函数或方法后

在ASP.NET 2.0中操作数据之二十五:大数据量时提高分页的效率_自学过程

导言 如我们在之前的教程里讨论的那样,分页可以通过两种方法来实现: 1.默认分页– 你仅仅只用选中data Web control的 智能标签的Enable Paging ; 然而,当你浏览页面的时候,虽然你看到的只是一小部分数据,ObjectDataSource 还是会每次都读取所有数据 2.自定义分页– 通过只从数据库读取用户需要浏览的那部分数据,提高了性能. 显然这种方法需要你做更多的工作. 默认的分页功能非常吸引人,因为你只需要选中一个checkbox就可以完成了.但是它每次都读取所有的

大数据量时提高分页的效率_数据库其它

如我们在之前的教程里讨论的那样,分页可以通过两种方法来实现: 默认分页– 你仅仅只用选中data Web control的 智能标签的Enable Paging ; 然而,当你浏览页面的时候,虽然你看到的只是一小部分数据,ObjectDataSource 还是会每次都读取所有数据 自定义分页– 通过只从数据库读取用户需要浏览的那部分数据,提高了性能. 显然这种方法需要你做更多的工作. 默认的分页功能非常吸引人,因为你只需要选中一个checkbox就可以完成了.但是它每次都读取所有的数据,这种方式

大数据量传输时配置WCF的注意事项

原文:大数据量传输时配置WCF的注意事项 WCF传输数据量的能力受到许多因素的制约,如果程序中出现因需要传输的数据量较大而导致调用WCF服务失败的问题,应注意以下配置: 1.MaxReceivedMessageSize:获取或设置配置了此绑定的通道上可以接收的消息的最大大小. basicHttpBinding等预定义的绑定一般具有MaxReceivedMessageSize属性,CustomBinding则需要在Transport中定义. 示例代码: <bindings> <custom

导出大数据量excel,用POI

问题描述 导出大数据量excel,用POI 需要导出的数据量可能非常大(超过10W条),而且要照顾到没装07Excel的机器,不能用SXSSFworkbook.鉴于一个sheet页最多65000多条记录,那么大数据就需要多个sheet页.由于导出前要先查数据库,是应该一次查出所有数据然后导出还是分次查询?每次查询65000条数据? 解决方案 这么大的文件,excel 2003未必能打开.建议分页存入多个excel文件. 解决方案二: 看速度和效率了,分次是不是速度还快点

利用Cache缓存数据DataTable数据提高大数据量访问性能

cache|访问|缓存|数据|性能 引言:在数据量不大的情况下,程序怎么写基本上性能差别不大,但是当我们面对数以万计的数据的时候,我想性能就是个不得不考虑的问题了,每写一个方法,每填充一笔数据都要考虑到性能问题,否则服务器将承担巨大的执行开销,如果服务器性能不好可能立即就死在那里了,所以在大数据量频繁访问的页面上,我们就必须考虑如何提高页面的性能了,本文将提供一种用cache提高访问性能的方法来解决此问题,在很大程度上提高页面加载数据的性能.本文列举的是论坛版块中帖子列表页面加载数据的实例.正文

大数据量下的分页

分页|数据 对于非常大的数据模型而言,分页检索时,每次都加载整个数据源非常浪费.通常的选择是检索页面大小的块区的数据,而非检索所有的数据,然后单步执行当前行. 本文演示ASP.net的DataGrid和Sql Server 实现大数据量下的分页,为了便于实现演示,数据表采用了Northwind数据库的Orders表(830条记录). 如果数据表中有唯一的自增索引,并且这个字段没有出现断号现象.检索页面大小的块区数据就非常简单了.通过简单的Sql语句就可以实现这个功能:select * from