当前位置:编程学习 > C#/ASP.NET >>

我采用asp.net+sql-server开发的一个简单书据统计系统,可观挂在网易做图问人数达到一定程度时,访问速度很

我采用asp.net+sql-server开发的一个简单书据统计系统,可观挂在网易做图问人数达到一定程度时,访问速度很慢,具体描述如下:(敬请指教)

Web Server :
至强 3.0 ,内存1G ,.Net FrameWork 2.0 ,IE6.0, IIS 6.0 默认设置

DataBase Server 
IBM3850 4 Cpu ,8 G 内存, 硬盘75G*6 Raid 5, SQL Server 2000 ,SP4 补丁包。

并发用户120左右,出现外网访问Web Server 速度明显减慢,内网访问Web Server 速度也减慢,界面基本不能打开。
120以下访问均很快。
此时Web Server CPU 7-10% ,内存480M左右,DataBase Server CPU 30-45%左右,内存850M左右
但是从Web Server 所在的机器进行访问速度极快。
进程中将w3wp.exe 设为优先级为高时,速度能快一些,用户数为150时出现较慢现象

外网带宽 5M

开发工具 Vs2005 ,C# ,ASP.Net


交换机: 华为 千兆

--------------------编程问答-------------------- 缓存加了吗? --------------------编程问答-------------------- 加了,服务器资源环很充分的 --------------------编程问答-------------------- 应该是你程序的问题,我公司WEB和SQL都在同一台服务器上,访问数上10000的时候也能正常打开,速度还不慢!看看数据库打开后是否关闭,或其它资源有没有释放! --------------------编程问答-------------------- 可是,如果是程序问题,应该耗尽服务器的资源的啊,服务器资源显示很充分的,还有一个奇怪的现象,我发现通过web服务器访问很快的,可从外网和局域网访问都很慢,只有web服务器很快 --------------------编程问答-------------------- 我觉得是配置文件有问题啊

<?xml version="1.0"?>
<!-- 
    注意: 除了手动编辑此文件以外,您还可以使用 
    Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
     “网站”->“Asp.Net 配置”选项。
    设置和注释的完整列表在 
    machine.config.comments 中,该文件通常位于 
    \Windows\Microsoft.Net\Framework\v2.x\Config 中
-->
<configuration >
<connectionStrings>
<add name="Jsgl_Connection" connectionString="Data Source=127.0.0.1;Initial Catalog=datadz;Persist Security Info=True;User ID=sa;Password=1234; min pool size=0; max pool size=4096 ;" providerName="System.Data.SqlClient"/>
<add name="datadzConnectionString" connectionString="Data Source=127.0.0.1;Initial Catalog=datadz;Persist Security Info=True;User ID=sa;Password=1234; min pool size=0; max pool size=4096 ;" providerName="System.Data.SqlClient"/>
</connectionStrings>
<appSettings>
<add key="CrystalImageCleaner-AutoStart" value="true"/>
<add key="CrystalImageCleaner-Sleep" value="60000"/>
<add key="CrystalImageCleaner-Age" value="120000"/>
<add key="Session_Live" value="0"/>
<add key="Session_Role" value="00000"/>
<!--直接关闭浏览器后,经过下面设置的value分钟后系统删除登录时生成的全局表tempdb..## -->
<add key="OffLineTimeLimitMinute" value="1"/>
</appSettings>
<system.web>
<webServices>
<protocols>
<add name="HttpSoap"/>
<!-- disable for entire machine -->
<add name="HttpPost"/>
<add name="HttpGet"/>
<add name="Documentation"/>
</protocols>
</webServices>
<!-- 
                设置 compilation debug="true" 将调试符号插入
                已编译的页面中。但由于这会 
                影响性能,因此只在开发过程中将此值 
                设置为 true。
            -->
<compilation debug="true">
<buildProviders>
<add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</buildProviders>
<assemblies>
<add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/></assemblies></compilation>
<!--
    <assemblies>
<add assembly="Microsoft.Web.UI.WebControls, Version=1.0.2.226, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Web, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Design, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Drawing, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Xml, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/></assemblies></compilation>
    -->
<!--
                通过 <authentication> 节可以配置 ASP.NET 使用的 
                安全身份验证模式,
                以标识传入的用户。 
            -->
<authentication mode="Forms">
<forms loginUrl="userlogin.aspx" protection="All" timeout="30" path="/">
</forms>
</authentication>
<authorization>
<deny users="?"/>
<!-- 允许所有用户 -->
<!--  <allow     users="[逗号分隔的用户列表]"
                                   roles="[逗号分隔的角色列表]"/>
                        <deny      users="[逗号分隔的用户列表]"
                                   roles="[逗号分隔的角色列表]"/>
                  -->
</authorization>
<!--
                如果在执行请求的过程中出现未处理的错误,
                则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
                开发人员通过该节可以配置
                要显示的 html 错误页
                以代替错误堆栈跟踪。

            <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
                <error statusCode="403" redirect="NoAccess.htm" />
                <error statusCode="404" redirect="FileNotFound.htm" />
            </customErrors>
            -->
    <!--
    <customErrors mode="Off"/>
    --> 
<customErrors mode="RemoteOnly" defaultRedirect="Error.aspx"/>
    
<!--
    <httpHandlers>
             <add path="CrystalImageHandler.aspx" verb="GET" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" />
             <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
              validate="false" />
        
        </httpHandlers>
      -->
<!--  应用程序级别跟踪记录
              应用程序级别跟踪为应用程序中的每一页启用跟踪日志输出。
              设置 trace enabled="true" 可以启用应用程序跟踪记录。如果 pageOutput="true",则
              在每一页的底部显示跟踪信息。否则,可以通过浏览 Web 应用程序
               根目录中的 "trace.axd" 页来查看
              应用程序跟踪日志。
        -->
<trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true"/>
<!--  会话状态设置
              默认情况下,ASP.NET 使用 Cookie 来标识哪些请求属于特定的会话。
              如果 Cookie 不可用,则可以通过将会话标识符添加到 URL 来跟踪会话。
             若要禁用 Cookie,请设置 sessionState cookieless="true"。
        -->
<httpModules>
<add type="System.Web.Caching.OutputCacheModule" name="OutputCache"/>
<add type="System.Web.SessionState.SessionStateModule" name="Session"/>
</httpModules>
<!--  
    <httpRuntime enableKernelOutputCache="false" />
     -->
<pages enableSessionState="true"/>
<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" stateNetworkTimeout="10" sqlConnectionString="data source=127.0.0.1;Integrated Security=SSPI" cookieless="false" timeout="20"/>
<!--  全球化
            此节设置应用程序的全球化设置。
      -->
<globalization requestEncoding="utf-8" responseEncoding="utf-8"/>
<xhtmlConformance mode="Legacy"/>
</system.web>
<location path="images">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<location path="public">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
</configuration>
--------------------编程问答-------------------- 为什么没人回答我的问题啊,太难了吗?自我感觉应该是web应用除了问题,可想尽了办法也解决不了! --------------------编程问答-------------------- hehe --------------------编程问答-------------------- 先看看你的程序吧
应该是资源用完了没及时释放的原因 --------------------编程问答-------------------- 看看conn.open();后面有没有 conn.Close();
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,