|
|
1
3
一种可能是简单地使用网络嗅探器。 Wireshark 非常好。按连接进行度量(当在给定的机器上使用多个连接时)是很困难的,但是您可以使用它来度量进出客户机的所有通信量。这样做的一个好处是,它还可以度量传出请求,在您的情况下(报告生成)这些请求应该很小,但仍然是总体负载的一部分。 用这种方法测量它的另一个好处是,它可以发现请求大小的差异(如果有的话)。例如,如果一个方法导致在单独的请求中从服务器读取单个记录,而另一个方法导致在一个请求中读取“批”记录,那么您将能够看到这些差异。在本例中,两种方法都可能显示DbDataReader级别的总数据是相同的,但是第一种方法将导致显著更多的网络通信量。
|
|
|
2
2
你试过在数据库端测量它吗?Oracle 10g似乎有 a whole stack of performance tuning and monitoring tools . |
|
|
3
0
你不能得到结果集的大小,除非在它上面循环。如果从preface的角度看您负担不起,您可以在结果集的第一行返回来自服务器的结果集的大小。或返回两个结果集。 |
|
|
4
0
我不认为有什么简单的方法可以做到这一点。为了获得元数据,您确实需要将数据表示为DataSet或DataTable,而不是通过DbDataReader或DataRow,以便将所有键、列和元数据表示为一个整体。 我要做的是创建一个二进制格式化程序和memorystream,并将DataSet/DataTable作为二进制数据序列化到memorystream中。然后,您应该能够从流中请求长度。这应该相当准确地告诉你问题上发布的数据的大小 这可能是一个性能杀手,所以您可能只想在调试环境中使用它来了解数据的大小 |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |