【问题标题】:Data Transferring is Slow – from Backend to Front-End数据传输很慢——从后端到前端
【发布时间】:2015-01-09 04:09:20
【问题描述】:

==> 我的系统

处理器 - Xeon 8 Cores @ 3.8GHz

内存-20 GB

存储 - 11 HDD SAN - RAID 5 configured I/O Rate – 260 MB/s

网络 - Cisco 1 Gbps Intranet

前端 - Using C#.Net desktop Application, PL/SQL Developer (write PL/SQL)

==> 数据库

Oracle 11g (11.2.0.3) Windows Server 2008 R2 64bit 上的标准版(OLTP 使用)

有 60 多张桌子。

大多数表都有超过 800 万条记录

生成报告,其输出给出大约。 500 万条记录并发送到前端。

==> 我的问题

在复杂查询中获取和处理的数据已经足够了。

但是当程序或查询执行时,哪个输出可能有数百万条数据

发送到前端或 pl/sql 开发人员(测试过程/查询)

我的问题从这里开始,

Oracle 数据库处理数据(服务器端没有高 cpu 或 hdd 使用率)

网络使用率显示2-3 MB per second传输率

数据在 1 秒后开始像 800 records 一样缓慢地进入客户端。

数以百万计的数据即将到来,因此需要花费太多时间来完成数据到达前端。

所以管理层对此并不满意,它的前端报告需要几分钟才能显示。

我该如何改进呢?我需要客户端更快的数据。

【问题讨论】:

  • 如何访问数据库?你的 SQL 是什么?
  • 任何输出数百万条记录的数据库在任何情况下都不会更快。如果您需要这么多数据,那么您所做的任何事情都没有正确设计。尝试使用 SP 在 DB 中处理它。为了更快地输出数据,请尝试“zerocopy”技术。不确定它是否会有所帮助,但可以看看。
  • @Fumu7 PL/SQL 开发者应用和一个 c#.net 内部桌面应用

标签: database performance database-connection frontend


【解决方案1】:

在任何报告中,用户都不会也永远不会看到所有 500 万行......那么提取这么多数据有什么意义呢? 在数据库本身中进行所有聚合/页眉/页脚数据计算,并且只将多达 100 行返回 UI/App, 设计需要正确制定.... Nither DB/APP/NW 是一个问题.. 他们很好很好!

【讨论】:

  • 但管理层希望这样。所以我们必须以这种方式编写程序,它会输出大量数据。 Bcz 在前端旋转和分组作为客户疯狂完成。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-12
相关资源
最近更新 更多