我以往的人像是:Repeater 要比 DataGrid 的效率好,但是不测试不知道,一测试吓一跳!
我用 vs自带的那个压力测试软件 (ACT) 测试了一下二者的性能,用每秒可以支持的访问人数来作为衡量标准。
但是结果却出乎我的意料,DataGrid 的效率 要比 Repeater高!
详细说一下我的测试方法,请大家看看我的测试方法有没有什么问题,如果没有什么问题的话,那么发生这种想象的原因是什么呢?
硬件:cpu:AMD XP2000+ 、80G硬盘、512M内存。
软件:windows 2003 + sp1 、Vs2003 、SQL Server 2000 + sp4
测试数据:显示一张表(城市表)里的数据,4个字段,349条记录。
测试目的:网站的页面里面显示数据的效率。只测试显示数据的功能,不管其他的方面。
测试条件:
1、 ViewState 是否开启
2、 显示10条记录、和显示 349条记录。
3、 DataGrid 、 Repeater
总的来说 DataGrid 总是要比 Repeater 多“容纳”几十人。
尤其是在关闭 ViewState 的情况下。
DataGrid使用自动填充,repeater的代码。
<table id="DG" >
<asp:repeater id="Rpt_Test" runat="server">
<ItemTemplate>
<tr>
<td><%# DataBinder.Eval(Container, "DataItem.CityID")%></td>
<td><%# DataBinder.Eval(Container, "DataItem.ProvinceID")%>
</td>
<td><%# DataBinder.Eval(Container, "DataItem.City")%>
</td>
<td><%# DataBinder.Eval(Container, "DataItem.AeraCode")%>
</td>
</tr>
</ItemTemplate>
</asp:repeater></table>
关于 repeater 还有没有其他的绑定方法了呢?
常看到一些文章说 repeater 比 DataGrid的性能要好,但是,我的测试结果是怎么回事呢?
建议大家也做一下这样的测试。我也很怀疑我的测试结果,但是也找不到什么原因。
希望大家能够一起研究一下。
我用 vs自带的那个压力测试软件 (ACT) 测试了一下二者的性能,用每秒可以支持的访问人数来作为衡量标准。
但是结果却出乎我的意料,DataGrid 的效率 要比 Repeater高!
详细说一下我的测试方法,请大家看看我的测试方法有没有什么问题,如果没有什么问题的话,那么发生这种想象的原因是什么呢?
硬件:cpu:AMD XP2000+ 、80G硬盘、512M内存。
软件:windows 2003 + sp1 、Vs2003 、SQL Server 2000 + sp4
测试数据:显示一张表(城市表)里的数据,4个字段,349条记录。
测试目的:网站的页面里面显示数据的效率。只测试显示数据的功能,不管其他的方面。
测试条件:
1、 ViewState 是否开启
2、 显示10条记录、和显示 349条记录。
3、 DataGrid 、 Repeater
总的来说 DataGrid 总是要比 Repeater 多“容纳”几十人。
尤其是在关闭 ViewState 的情况下。
DataGrid使用自动填充,repeater的代码。
<table id="DG" >
<asp:repeater id="Rpt_Test" runat="server">
<ItemTemplate>
<tr>
<td><%# DataBinder.Eval(Container, "DataItem.CityID")%></td>
<td><%# DataBinder.Eval(Container, "DataItem.ProvinceID")%>
</td>
<td><%# DataBinder.Eval(Container, "DataItem.City")%>
</td>
<td><%# DataBinder.Eval(Container, "DataItem.AeraCode")%>
</td>
</tr>
</ItemTemplate>
</asp:repeater></table>
关于 repeater 还有没有其他的绑定方法了呢?
常看到一些文章说 repeater 比 DataGrid的性能要好,但是,我的测试结果是怎么回事呢?
建议大家也做一下这样的测试。我也很怀疑我的测试结果,但是也找不到什么原因。
希望大家能够一起研究一下。
问题点数:
200、 回复次数:
129