社区
网络通信/分布式开发
帖子详情
在三层中,查询占用服务器很高的CPU,怎样优化?
2312
2003-12-17 09:11:31
我用的是:DELPHI6.0+ACCESS,
每次在客户端一位用户进行查询时候(记录上万),都会占用服务器CPU很高的资源,多个用户同时进行查询服务器就不能胜任了.
我是用的filter在客户端进行的过滤!
怎样优化?
...全文
149
23
打赏
收藏
在三层中,查询占用服务器很高的CPU,怎样优化?
我用的是:DELPHI6.0+ACCESS, 每次在客户端一位用户进行查询时候(记录上万),都会占用服务器CPU很高的资源,多个用户同时进行查询服务器就不能胜任了. 我是用的filter在客户端进行的过滤! 怎样优化?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
beetaim
2004-01-30
打赏
举报
回复
建议采用对象缓冲池进行多个对象的缓冲使服务器减少为每个客户连接都建立相应的对象而带来的资源开销
libochen
2004-01-29
打赏
举报
回复
如何避免服务器端CPU占用过高,应当认识服务器端在向客户端发送数据的过程和机理,一般来讲,应用服务器从数据服务器获取数据后打包并压缩,再发送给客户端,而其中获取数据后打包和压缩占用了服务器端大量的CPU和内存,所以应用服务器开发应当考虑:
1.利用SQL语句在数据库服务器上尽量过滤不需要的数据;
2.在应用服务器上企业服务对象间交换数据时尽量使用Clone,而不是DATA=DATA;
3.数据分包发往客户端;
建议看看李维的《三层开发系统篇》
leon2k
2004-01-29
打赏
举报
回复
(1)设计应该避免一次从数据库选取过多记录,可通过SQL条件过滤
(2)如果确实需要取这么多数据,就应该分批多次选取。
(3)还有,如果不是必须的字段,尽量不要取。
aiunong
2004-01-29
打赏
举报
回复
学习Up
coolsundy
2004-01-29
打赏
举报
回复
用MYSQL吧。效率奇高,而且很快。又免费
dickeybird888
2004-01-29
打赏
举报
回复
进行分包操作就行了!
SeaWave
2004-01-28
打赏
举报
回复
如果一次查询会向客户端返回上万条记录,然后在客户端来过滤,绝对不是好的程序!
没这么做的。
haike
2004-01-28
打赏
举报
回复
你如果用Access,还不如不要用三层的.
曦-85
2004-01-20
打赏
举报
回复
up
做个好人
2004-01-20
打赏
举报
回复
建议换sql server 或者ORacle
lsoft
2003-12-28
打赏
举报
回复
另外对ACCESS的性能不清楚, 如果是InterBase 会不会好一些!
lsoft
2003-12-28
打赏
举报
回复
Sorry!
Server 一端最后是无状态的 => Server 一端最好是无状态的
lsoft
2003-12-28
打赏
举报
回复
楼上几位说的都有道理, 要反回给客户端的数据最好是用户真正想要得到的资料,一万笔以上的资料对客户来讲没有多大的意义.
Server 一端最后是无状态的
Client 一端的SQL语句的限定条件一定要能够达到只返回真正有意义的资料返回到ClientApp
eliphe
2003-12-22
打赏
举报
回复
你这不是三层,应该在server端提供一个方法,client调用方法,只返回client需要的数据
gillfen
2003-12-21
打赏
举报
回复
你的关系型数据库的建立方式也是很重要的
myyanghua
2003-12-21
打赏
举报
回复
Delphi + Access的优化简直是太难了:
原因:
(1)Access属于文件数据库,从根本上就限制了Access的并发操作。
(2)Access是微软为桌面型用户准备的,没有多少可以提高效率的方法。
建议解决方法:
(1)找一下MSDN之类的资料,看能不能找到Access的存储和I/O方式,看是否能够避免费时的操作
(2)根据Access的优化要求,重新创建和整理索引。
siwuge
2003-12-21
打赏
举报
回复
初学帮顶。
whitetiger8
2003-12-19
打赏
举报
回复
嗯。看看SQL算法优化。我感觉有时候,在第一步时,就把不用的数据先过滤掉,是最好的了
抱朴守拙
2003-12-19
打赏
举报
回复
设置ClientDataSet的Filtered=false,PacketRecords=每次下载的数量例如50;
这样就可以很快的查询,需要的时候通过GetNextPacket来取得下一个数据包。
qiume
2003-12-17
打赏
举报
回复
1,不需要的数据应该在服务器端过滤掉;
2,记录上万时应该优化SQL,并且分包;
加载更多回复(3)
cpu
占用
高
mongo_华为交换机
CPU
占用
率
高
原因判断和解决方法(二)
3、
CPU
占用
率
高
属于正常现象的场景 在一些网络应用
中
,
CPU
占用
率较
高
是正常的。通常情况下,网络规模越大,处理网络流量需要的
CPU
资源将越多。对于运行堆叠的交换机系统,当管理的成员交换机数量增多时,
CPU
用于维护和管理堆叠系统状态所需要的资源也会相应增加。设备长时间运行时
CPU
占用
率不超过80%,短时间内
CPU
占用
率不超过95%,可认为设备状态是正常的。 华为交换机在如下一些场景可能导致
CPU
...
【java】java程序
CPU
占用
过
高
的故障定位分析方法
一、前言背景
CPU
占用
过
高
是LINUX
服务器
常见的一种故障,也是程序员线上排查故障必备的技能,如果线上出现此种故障,程序员应如何快速定位代码块排查故障呢? 一个应用
占用
CPU
很
高
,除了确实是计算密集型应用之外,通常原因都是出现了死循环。 出现了死循环,一般是因为代码逻辑不严谨,触发了某个条件,那么怎么才能定位到是哪段代码导致的呢? 本文将从四个步骤进行分析,快速定位问题所在,从应用程序的进程入手到具体线程再到应用程序的具体代码,从整体到局部,化繁为简,层层深入,为读者提供了一种线上快速定位排查
Linux
服务器
存在某进程
CPU
过
高
如何追溯其问题根源?
问题描述: 在本人运维的一个省级平台系统
中
,最近有用户反应系统很卡一直转圈圈. 经初步核查发现某web
服务器
节点存在JAVA进程
cpu
占比超过100%的情况。为了不影响用户使用,暂时只能采取简单粗暴的方法"重启
服务器
"。这其
中
有如下2个疑问,1 该平台web
服务器
有7个节点,为何只是其
中
一个节点无法访问会导致外网用户会觉得系统卡甚至无法访问?2 为啥
cpu
占比这么
高
,究竟是是业务的那些代码写的有问题,如何把它揪出来? 带着这两个问题我开始和身边同事沟通网上相关知识的搜索。 问题分析: 1 该平台web服务.
Linux
CPU
性能
优化
——
CPU
使用率及
高
CPU
使用率排查
文章目录
CPU
使用率的定义查看
CPU
使用率:top和pidstat排查
高
CPU
使用率:pref参考文献 写在前面: 由于之前在开发分布式系统
中
由于云
服务器
性能原因,导致系统总是断连等错误。但是之前一般只是简单gdb调试一下,定位错误异常艰难,所以决定开设此专栏,系统的记录我学习Linux 性能
优化
的历程。 作者邮箱:2107810343@qq.com 时间:2021/04/29 13:46 实现环境:Linux 系统:ubuntu 18.04
CPU
使用率的定义
CPU
使用率是一个衡量当前
CPU
瓶颈的重
压测导致mysql数据库
CPU
很
高
_压力测试过程
中
MySQL服务
CPU
占用
率过
高
的问题排查思路...
压力测试过程
中
MySQL服务
CPU
占用
率过
高
的问题排查思路发布时间:2020-07-01 20:53:06来源:51CTO阅读:14567作者:lilugoodjob〇、经验总结:在关注业务接口的TPS时,也要关注数据库
服务器
的QPS。如果一个业务流程里包含多条
查询
,那么业务接口TPS的上升对数据库
服务器
QPS的放大效应会很明显。如果
查询
结果集不大,尽量使用一条
查询
语句,通过子
查询
返回多个结果集,...
网络通信/分布式开发
1,594
社区成员
32,958
社区内容
发帖
与我相关
我的任务
网络通信/分布式开发
Delphi 网络通信/分布式开发
复制链接
扫一扫
分享
社区描述
Delphi 网络通信/分布式开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章