Linux における高同時実行性とは、システム運用中に遭遇する「短時間に大量の操作リクエストに遭遇する」状況のことで、主に Web システムから大量のリクエストへのアクセスが集中した場合に発生します。大量のリクエストを受信する; この状況が発生すると、この期間中にシステムはリソースのリクエスト、データベース操作などの大量の操作を実行することになります。
#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。
高同時性これは、次の 1 つです。インターネット分散システム アーキテクチャの設計で考慮する必要がある要素。通常、システムが設計を通じて多くのリクエストを同時に並行して処理できるようにすることを指します。 高同時実行性(High Concurrency)とは、システム運用時に「短時間に大量の操作要求が発生する」状況のことで、主にWebシステムに大量の処理が集中した場合に発生します。アクセス数やリクエスト数が多い(例:チケット取得状況12306件、天猫ダブルイレブンイベント)。この状況が発生すると、システムはこの期間中にリソースの要求、データベース操作などの多数の操作を実行することになります。
# 単一マシン アーキテクチャのパフォーマンスを向上させるには、たとえば、キャッシュを使用して IO 回数を削減し、非同期を使用して単一サービスのスループットを向上させ、ロックフリーのデータ構造を使用して応答時間を短縮します
#(5) データ キャッシュ レイヤー: キャッシュによりストレージへのアクセスが高速化されます
(6 ) データ データベース レイヤー: データベースの固定化されたデータ ストレージ
2.4 水平拡張アーキテクチャサイト層の水平展開
#Web バックエンドがボトルネックになった場合は、サーバーの数を増やし、nginx 構成に新しい Web サービス デプロイメントを追加するだけです。新しい Web バックエンドを構成すると、サイト層のパフォーマンスが拡張され、理論上無限に高い同時実行性を実現できます
# での無制限の高同時実行性
## データ層の水平方向の拡張
#データ層 (キャッシュ、データベース) にはデータが関与します。 水平方向の拡張により、データ (キャッシュ) が水平方向に分割されます。 、データベース)は、システムのパフォーマンスを拡張するという目的を達成するために、もともと 1 つのサーバーに保存されていたものを別のサーバーに保存します。
特定の範囲のデータを保存します
user0 ライブラリ、uid 範囲 1-1kw
user1 ライブラリを保存します、ストレージ uid 範囲 1kw-2kw
ハッシュに従って水平に分割
user0 ライブラリ、均等な uid データを保存
ulimit –n 65535
vim /etc/security/limits.conf * soft nofile 65535 #'*'表示修改所有用户的限制 * hard nofile 65535
#用户完成系统登录后读取/etc/security/limits.conf文件 vim /etc/pam.d/login sessionrequired /lib/security/pam_limits.so
#查看TIME_WAIT状态连接 netstat -n | grep tcp | grep TIME_WAIT |wc -l
# vim /etc/sysctl.conf net.ipv4.tcp_syncookies= 1 #表示开启SYNCookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭; net.ipv4.tcp_tw_reuse= 1 #表示开启重用。允许将TIME-WAITsockets重新用于新的TCP连接,默认为0,表示关闭; net.ipv4.tcp_tw_recycle= 1 #表示开启TCP连接中TIME-WAITsockets的快速回收,默认为0,表示关闭; net.ipv4.tcp_fin_timeout= 30 #修改系統默认的TIMEOUT 时间。
Linux ビデオ チュートリアル
>>以上がLinux の高い同時実行性とは何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。