在一般的网络规模中,在近客户端,使用一台性能较好的Cache代理服务器,就可以满足内部用户的需求,减缓出口线路的拥堵问题。但如果内部网络已扩张到相当庞杂,用户机器数量达到数万台,同一时间的URL请求可能达到上万个,这种情况下极有可能造成单台代理服务
在一般的网络规模中,在近客户端,使用一台性能较好的Cache代理服务器,就可以满足内部用户的需求,减缓出口线路的拥堵问题。但如果内部网络已扩张到相当庞杂,用户机器数量达到数万台,同一时间的URL请求可能达到上万个,这种情况下极有可能造成单台代理服务器无法及时处理,甚至瘫痪,代理服务器反而会成为新的瓶颈。为了有效解决此类情况,我们可以在内部网络中布置多台代理服务器,代理服务器之间构成Hierarchies(层次),协同工作,减缓负载,减轻线路压力。
具体配置方法
下面结合我校的实际情况,说明层次代理服务器的架设方法。

图1
图1是校园网的拓扑结构,内部网通过路由器,由两个出口线路分别接入CERNET和CHINANET,最终汇入Internet。大多数的高校现在都采用这种多出口的方法,因为CERNET虽然可以给予高校合法的IP地址,但它多采用出国流量计费或包月制,费用较高且带宽有限;而CHINANET、CNCNET等运营商的线路的包月费用相对较低,出口访问速度较快。所以一般情况下使用CERNET作入口访问及必要的出口访问(如访问教育资源),而使用CHINANET、CNCNET作大部分的出口访问。
我校校园网在地理上分为多个区域,有图书馆及教学区、行政办公区、学生宿舍区等,我们只拿出这三个区域做为例子。在这三个区域中分别放置一台代理服务器,其域名分别为lib.Cache.lyac.edu.cn 、adm.Cache.lyac.edu.cn 、stu.Cache.lyac.edu.cn 。
其中,因为图书馆购买的学术期刊论文数据库必须是合法IP(有的要求固定IP)才能访问查询,并且校园网也需要访问CERNET上的许多教育资源,所以把它的默认出口线路放到CERNET上,使用合法IP地址;其它两个区域的默认出口线路都放到CHINANET上,ISP通常不会给学校提供合法的IP,所以我们一般在这样的Cache上使用两块网卡,一块使用内网虚地址,另一块使用ISP提供的虚地址,这样就可以连接到ISP,再由其转发。
Cache Server可以是在一台普通的服务器加上Cache软件构成,也有由专用的软硬件系统构成的商业Cache服务器(如CacheFlow)。我校的代理服务器使用Squid。Squid代理服务器使用Squid.conf作为配置文件,单台代理服务器的应用配置――特别是ACL和http_access的配合使用方法,有很多参考资料,这里不再赘叙,我们只讲squid.conf文件中和Cache层次有关的常用配置选项,其详细用法参看squid文档。
下面列出三个区域Cache中的只有和层次有关的配置内容,其中结合ACL的配置方法多种多样,例如可以使用icp_access、 miss_access控制外部Cache的请求权限;有些配置选项的使用结果也是相似的。“#”号开头的为注释。
(1) 图书馆及教学区Cache的配置
http_port 3128
icp_port 3130
#定义其它两个区域的Cache和自己的关系
Cache_peer adm.Cache.lyac.edu.cn sibling 3128 3130
Cache_peer stu.Cache.lyac.edu.cn sibling 3128 3130
#设定只有非.edu.cn域的URL自己没有时才请求其它两个区域的Cache帮助
Cache_peer_domain adm.Cache.lyac.edu.cn !.edu.cn
Cache_peer_domain stu.Cache.lyac.edu.cn !.edu.cn
#10.10.0.0/16是校园网使用的内网虚地址
acl LocalNetIPVIR src 10.10.0.0/16
#210.44.48.0/20是校园网使用的合法IP地址
acl LocalNetIPTRUE src 210.44.48.0/20
#.lyac.edu.cn是校园网的域
acl LocalDomain srcdomain .lyac.edu.cn
acl all src 0.0.0.0/0.0.0.0
Cache_peer_access adm.Cache.lyac.edu.cn allow LocalNetIPVIR
Cache_peer_access adm.Cache.lyac.edu.cn allow LocalNetIPTRUE
Cache_peer_access adm.Cache.lyac.edu.cn allow srcdomain
Cache_peer_access stu.Cache.lyac.edu.cn allow LocalNetIPVIR
Cache_peer_access stu.Cache.lyac.edu.cn allow LocalNetIPTRUE
Cache_peer_access stu.Cache.lyac.edu.cn allow srcdomain
Cache_peer_access adm.Cache.lyac.edu.cn deny all
Cache_peer_access stu.Cache.lyac.edu.cn deny all
#设定只为本校的Cache提供层次服务,以防被局域网外的Cache非法利用
icp_access allow LocalNetIPVIR
icp_access allow LocalNetIPTRUE
icp_access allow srcdomain
icp_access deny all
(2)行政办公区Cache的配置(Cache_peer_access的访问控制列表同行政办公区)
http_port 3128
icp_port 3130
Cache_peer lib.Cache.lyac.edu.cn parent 3128 3130
Cache_peer stu.Cache.lyac.edu.cn sibling 3128 3130
#设定缓存中没有.edu.cn的object时才请求lib.Cache.lyac.edu.cn协助抓取
Cache_peer_domain lib.Cache.lyac.edu.cn .edu.cn
Cache_peer_domain stu.Cache.lyac.edu.cn !.edu.cn
(3)学生宿舍区Cache的配置内容大致同行政办公区,从略。
外部网络上有一些免费的可用来组成层次的Cache,如图1所示,可以申请代理服务器D(CERNET上)和E(Internet上)作为您的parent 或sibling,在申请获得通过后就可以在本地Cache上设置peer关系得到object。
层次代理服务器有效解决了局域网规模太大时多台代理服务器的协调工作问题,更加有效地节约带宽,优化网络中的信息流动,保障网络的正常健康运行。

MySQLはオープンソースのリレーショナルデータベース管理システムであり、主にデータを迅速かつ確実に保存および取得するために使用されます。その実用的な原則には、クライアントリクエスト、クエリ解像度、クエリの実行、返品結果が含まれます。使用法の例には、テーブルの作成、データの挿入とクエリ、および参加操作などの高度な機能が含まれます。一般的なエラーには、SQL構文、データ型、およびアクセス許可、および最適化の提案には、インデックスの使用、最適化されたクエリ、およびテーブルの分割が含まれます。

MySQLは、データストレージ、管理、クエリ、セキュリティに適したオープンソースのリレーショナルデータベース管理システムです。 1.さまざまなオペレーティングシステムをサポートし、Webアプリケーションやその他のフィールドで広く使用されています。 2。クライアントサーバーアーキテクチャとさまざまなストレージエンジンを通じて、MySQLはデータを効率的に処理します。 3.基本的な使用には、データベースとテーブルの作成、挿入、クエリ、データの更新が含まれます。 4.高度な使用には、複雑なクエリとストアドプロシージャが含まれます。 5.一般的なエラーは、説明ステートメントを介してデバッグできます。 6.パフォーマンスの最適化には、インデックスの合理的な使用と最適化されたクエリステートメントが含まれます。

MySQLは、そのパフォーマンス、信頼性、使いやすさ、コミュニティサポートに選択されています。 1.MYSQLは、複数のデータ型と高度なクエリ操作をサポートし、効率的なデータストレージおよび検索機能を提供します。 2.クライアントサーバーアーキテクチャと複数のストレージエンジンを採用して、トランザクションとクエリの最適化をサポートします。 3.使いやすく、さまざまなオペレーティングシステムとプログラミング言語をサポートしています。 4.強力なコミュニティサポートを提供し、豊富なリソースとソリューションを提供します。

INNODBのロックメカニズムには、共有ロック、排他的ロック、意図ロック、レコードロック、ギャップロック、次のキーロックが含まれます。 1.共有ロックにより、トランザクションは他のトランザクションが読み取らないようにデータを読み取ることができます。 2.排他的ロックは、他のトランザクションがデータの読み取りと変更を防ぎます。 3.意図ロックは、ロック効率を最適化します。 4。ロックロックインデックスのレコードを記録します。 5。ギャップロックロックインデックス記録ギャップ。 6.次のキーロックは、データの一貫性を確保するためのレコードロックとギャップロックの組み合わせです。

MySQLクエリのパフォーマンスが低いことの主な理由には、インデックスの使用、クエリオプティマイザーによる誤った実行計画の選択、不合理なテーブルデザイン、過剰なデータボリューム、ロック競争などがあります。 1.インデックスがゆっくりとクエリを引き起こし、インデックスを追加するとパフォーマンスが大幅に向上する可能性があります。 2。説明コマンドを使用してクエリ計画を分析し、オプティマイザーエラーを見つけます。 3.テーブル構造の再構築と結合条件を最適化すると、テーブルの設計上の問題が改善されます。 4.データボリュームが大きい場合、パーティション化とテーブル分割戦略が採用されます。 5.高い並行性環境では、トランザクションの最適化とロック戦略は、ロック競争を減らすことができます。

データベースの最適化では、クエリ要件に従ってインデックス作成戦略を選択する必要があります。1。クエリに複数の列が含まれ、条件の順序が固定されている場合、複合インデックスを使用します。 2。クエリに複数の列が含まれているが、条件の順序が修正されていない場合、複数の単一列インデックスを使用します。複合インデックスは、マルチコラムクエリの最適化に適していますが、単一列インデックスは単一列クエリに適しています。

MySQLスロークエリを最適化するには、slowquerylogとperformance_schemaを使用する必要があります。1。LowerQueryLogを有効にし、しきい値を設定して、スロークエリを記録します。 2。performance_schemaを使用してクエリの実行の詳細を分析し、パフォーマンスのボトルネックを見つけて最適化します。

MySQLとSQLは、開発者にとって不可欠なスキルです。 1.MYSQLはオープンソースのリレーショナルデータベース管理システムであり、SQLはデータベースの管理と操作に使用される標準言語です。 2.MYSQLは、効率的なデータストレージと検索機能を介して複数のストレージエンジンをサポートし、SQLは簡単なステートメントを通じて複雑なデータ操作を完了します。 3.使用の例には、条件によるフィルタリングやソートなどの基本的なクエリと高度なクエリが含まれます。 4.一般的なエラーには、SQLステートメントをチェックして説明コマンドを使用することで最適化できる構文エラーとパフォーマンスの問題が含まれます。 5.パフォーマンス最適化手法には、インデックスの使用、フルテーブルスキャンの回避、参加操作の最適化、コードの読み取り可能性の向上が含まれます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

メモ帳++7.3.1
使いやすく無料のコードエディター

Dreamweaver Mac版
ビジュアル Web 開発ツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン
