ホームページ  >  記事  >  運用・保守  >  win2008 R2、sql2005、2008でasp実行時の速度が遅い場合の解決策を詳しく解説

win2008 R2、sql2005、2008でasp実行時の速度が遅い場合の解決策を詳しく解説

黄舟
黄舟オリジナル
2017-05-31 10:35:232128ブラウズ

この記事では、win2008 R2 と SQL 2008 を実行するときの速度が遅い場合の解決策を主に紹介しますasp 必要な友人はそれを参照してください

SQL Server 2005 データベースを背景にした ASP ウェブサイトのアクセス速度が遅いという状況です。 1 つのサーバー上に 2 つの ASP Web サイトがあり、1 つは非常に高速にアクセスされ、もう 1 つは非常に低速です。

トラブルシューティングの考えと手順:

まず、コンピューターでこれら 2 つの Web サイトを順番に開き、1 つは 2 ~ 3 秒で開き、もう 1 つは 10 秒かかりました。問題は本当のようです。

サーバーにログインし、サーバーのローカル IIS で 2 つの Web サイトを開くと、DNS 解決時間の影響が除外され、もう 1 つは遅くなります。ネットワーク;

2 つの Web サイト プログラムを開きます。ホームページ ASP ファイルでは、高速アクセスする Web サイトにはデータベース クエリ がなく、低速アクセスする Web サイトはデータベースにクエリを実行したことがわかりました。プログラム内のデータベース クエリ ステートメントも非常に単純であるため、プログラムとデータベース クエリ ステートメントの問題は解消され、最終的に問題はデータベース SQL Server にあります。

SQL Server 2005 を開くと、データベースが 1 つだけ存在します。 SQL Server Management Studio で気軽に実行すると、2 つの複雑なクエリ ステートメントが解決され、データベースのクエリ速度の問題のようには感じられません。

システムのCPUとメモリの負荷は高くありません。本当に理由がわかりません。コマンド プロンプトを開き、netstat-ano を使用してネットワーク接続を確認するだけです。 sqlserver の 1434 ポートのみがリッスンしており、sqlserver の 1433 ポートがリッスンおよび接続していないことがわかりました。しかし、監視や接続がないにもかかわらず、Web サイトにアクセスできるのはなぜでしょうか。 sqlserver がリスニング ポートを変更したかどうか疑問に思っています。

SQL Server 2005 の SQL Server 構成マネージャーの SQL Server 2005 ネットワーク構成 -> MSSQLSERVER のプロトコル -> TCP/IP を開くと、TCP/IP が無効になっていて、プロトコルで共有メモリのみが有効になっていることがわかりました。 プロパティで設定されたリスニング ポートはデフォルトの 1433 です。そのため、TCP/IP が有効になります。 SQL Server サービスを再起動した後、Web サイトを開く速度が非常に速くなります。

問題はついに解決されました。その理由は、SQL Server の TCP/IP プロトコルがオンになっておらず、データベースへの接続に共有メモリが使用されるため、Web サイトへのアクセスが非常に遅いためです。

以下は他のネチズンからの補足方法です:

最近、WEBサーバーのハードディスクが故障し、10年間稼働していたサーバーなのでWEBサービスを新しいサーバーに置き換えましたが、様々な問題が発生しました移行後の問題と解決策をまとめます:

Windows2003+asp+sqlserver2000 新しいWEBサーバー:

Windows2008R2+asp+SQL Server2008

Webサイトとデータベースをすべて移行した後、ホームページ、コンテンツページ、バックエンドは正常に開きましたが、ファイルが署名されていることが判明しました。ページが開くのが非常に遅く、開けない場合があります。

コードを確認したところ、すべて正常でしたが、データベースにクエリを実行するときに問題があるように感じました。その後、Baiduで検索したところ、データベースがメモリ共有接続モードを使用していることが判明したので、変更しました。データベースを TCP 接続モードに変更すると、開くことができるようになりますが、それでも遅く、約 5 ~ 8 秒かかります。

インターネットで解決策を探し続けましたが、さまざまな方法を試してみたところ、データベース接続ステートメントが原因でした。は間違っていました。


元の接続ステートメントは次のとおりです:

Provider=Sqloledb;User ID=数据库帐号;Password=数据库密码;InitialCatalog=数据库名;Data Source=数据库IP;
このステートメントは元のサーバーでは問題ありませんが、新しいサーバー環境では機能しません。

解決策は、接続ステートメントを次のように置き換えることです:

Driver={SQL SERVER};Server=数据库IP;UID=数据库帐号;PWD=数据库密码;Database=数据库名;

以上がwin2008 R2、sql2005、2008でasp実行時の速度が遅い場合の解決策を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。