我采用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