Linux の高い同時実行性とは何を意味しますか?
Linux における高同時実行性とは、システム運用中に遭遇する「短時間に大量の操作リクエストに遭遇する」状況のことで、主に Web システムから大量のリクエストへのアクセスが集中した場合に発生します。大量のリクエストを受信する; この状況が発生すると、この期間中にシステムはリソースのリクエスト、データベース操作などの大量の操作を実行することになります。
#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。
高同時実行性の概念
1.1 高同時実行性の概念
高同時性これは、次の 1 つです。インターネット分散システム アーキテクチャの設計で考慮する必要がある要素。通常、システムが設計を通じて多くのリクエストを同時に並行して処理できるようにすることを指します。 高同時実行性(High Concurrency)とは、システム運用時に「短時間に大量の操作要求が発生する」状況のことで、主にWebシステムに大量の処理が集中した場合に発生します。アクセス数やリクエスト数が多い(例:チケット取得状況12306件、天猫ダブルイレブンイベント)。この状況が発生すると、システムはこの期間中にリソースの要求、データベース操作などの多数の操作を実行することになります。
1.2 高同時実行性関連の指標
応答時間 (応答時間)- システムはリクエストに応答します時間。たとえば、システムが HTTP リクエストを処理するのに 200 ミリ秒かかります。この 200 ミリ秒がシステムの応答時間です。
- 単位時間あたりに処理されるリクエスト
- 1 秒あたりの応答リクエストの数。インターネット分野では、この指標とスループットの区別はそれほど明確ではありません。
- 通常の通信を同時に実行するユーザーの数。システム機能の使用。たとえば、インスタント メッセージング システムでは、同時オンライン ユーザーの数は、システムの同時ユーザーの数をある程度表します。
#1.3 高度な同時実行性の最適化
- 単一プロセスでオープンできるファイルの最大数の制限
- カーネル TCP パラメータ
- #IO イベント割り当てメカニズム
2 システムの同時実行機能の向上2.1 垂直方向の拡張
スタンドアロン処理能力の向上
- スタンドアロン ハードウェアのパフォーマンスを向上します。たとえば、CPU コアの数を増やします。 32 コアなど、より優れたネットワーク カード (10G など) へのアップグレード、SSD などのより優れたハード ドライブへのアップグレード、2T などのハード ディスク容量の拡張、128G
- などのシステム メモリの拡張
# 単一マシン アーキテクチャのパフォーマンスを向上させるには、たとえば、キャッシュを使用して IO 回数を削減し、非同期を使用して単一サービスのスループットを向上させ、ロックフリーのデータ構造を使用して応答時間を短縮します
- などのシステム メモリの拡張
サーバーの台数を追加すると、システムのパフォーマンスを直線的に拡張できます
- #2.3 一般的なインターネット層アーキテクチャ
(1) クライアント層: 一般的な通話相手はブラウザまたはモバイル アプリケーション APP(2) リバースプロキシ層: システム入口、リバースプロキシ
(3) サイトアプリケーション層: コアアプリケーションロジックの実装、html または json を返す(4) サービス層: サービス化の場合#(5) データ キャッシュ レイヤー: キャッシュによりストレージへのアクセスが高速化されます
(6 ) データ データベース レイヤー: データベースの固定化されたデータ ストレージ
2.4 水平拡張アーキテクチャリバース プロキシ層のレベル拡張機能
- いつnginx がボトルネックになる場合は、サーバーの数を増やし、新しい nginx サービスをデプロイし、外部ネットワーク IP を追加するだけで、リバース プロキシ レイヤーのパフォーマンスを拡張できます。理論的には無限に高い同時実行性
- # は「DNS ポーリング」によって実現されます。 dns-server はドメイン名の複数の解決 IP で構成されており、各 DNS 解決リクエストは dns-server にアクセスします。これらの IP はポーリングされて返されます
-
- は「nginx」によって実装されます。 nginx.conf を変更することで、複数の Web バックエンドをセットアップできます
-
#Web バックエンドがボトルネックになった場合は、サーバーの数を増やし、nginx 構成に新しい Web サービス デプロイメントを追加するだけです。新しい Web バックエンドを構成すると、サイト層のパフォーマンスが拡張され、理論上無限に高い同時実行性を実現できます
- サービス層の水平方向の拡張
- 「サービス接続プール」を通じて実現
- #サイト層が RPC クライアント経由で下流のサービス層 RPC サーバーを呼び出すと、接続プールは複数の接続を確立します。ダウンストリーム サービス。サービスがボトルネックになった場合は、サーバーの数を増やし、新しいサービスをデプロイし、RPC クライアントで新しいダウンストリーム サービス接続を確立するだけで、サービス層のパフォーマンスが拡張され、理論上の結果が得られます。
# での無制限の高同時実行性
## データ層の水平方向の拡張
#データ層 (キャッシュ、データベース) にはデータが関与します。 水平方向の拡張により、データ (キャッシュ) が水平方向に分割されます。 、データベース)は、システムのパフォーマンスを拡張するという目的を達成するために、もともと 1 つのサーバーに保存されていたものを別のサーバーに保存します。
-
特定の範囲のデータを保存します
user0 ライブラリ、uid 範囲 1-1kw
user1 ライブラリを保存します、ストレージ uid 範囲 1kw-2kw
-
ハッシュに従って水平に分割
user0 ライブラリ、均等な uid データを保存
- #user1 ライブラリ、奇数の uid データを保存します
3 台の単一 Linux サーバーで同時実行性が向上
3.1 iptables 関連##iptables ファイアウォールを閉じて、カーネルが iptables モジュールをロードしないようにします
- 単一プロセスでオープンできるファイルの最大数の制限 (単一プロセスでオープンできるファイルのデフォルトの最大数は 1024 です)
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
3.2 カーネル TCP パラメータ TIME_WAIT ステータス
- TCP 接続が切断された後、ポートが解放されるまで一定時間 TIME_WAIT 状態が維持されます。同時リクエストが多すぎると、TIME_WAIT状態のコネクションが大量に生成され、切断が間に合わないとポートリソースやサーバーリソースが大量に占有されてしまいます。
#查看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 サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











DeepSeekは、Webバージョンと公式Webサイトの2つのアクセス方法を提供する強力なインテリジェント検索および分析ツールです。 Webバージョンは便利で効率的であり、公式ウェブサイトは包括的な製品情報、ダウンロードリソース、サポートサービスを提供できます。個人であろうと企業ユーザーであろうと、DeepSeekを通じて大規模なデータを簡単に取得および分析して、仕事の効率を向上させ、意思決定を支援し、イノベーションを促進することができます。

DeepSeekをインストールするには、Dockerコンテナ(最も便利な場合は、互換性について心配する必要はありません)を使用して、事前コンパイルパッケージ(Windowsユーザー向け)を使用してソースからコンパイル(経験豊富な開発者向け)を含む多くの方法があります。公式文書は慎重に文書化され、不必要なトラブルを避けるために完全に準備します。

Bitgetは、スポット取引、契約取引、デリバティブなど、さまざまな取引サービスを提供する暗号通貨交換です。 2018年に設立されたこのExchangeは、シンガポールに本社を置き、安全で信頼性の高い取引プラットフォームをユーザーに提供することに取り組んでいます。 Bitgetは、BTC/USDT、ETH/USDT、XRP/USDTなど、さまざまな取引ペアを提供しています。さらに、この取引所はセキュリティと流動性について評判があり、プレミアム注文タイプ、レバレッジド取引、24時間年中無休のカスタマーサポートなど、さまざまな機能を提供します。

世界をリードするデジタル資産交換であるOuyi Okxは、安全で便利な取引体験を提供するために、公式のインストールパッケージを開始しました。 OUYIのOKXインストールパッケージは、ブラウザに直接インストールでき、ユーザー向けの安定した効率的な取引プラットフォームを作成できます。インストールプロセスは、簡単で理解しやすいです。

Gate.ioは、インストールパッケージをダウンロードしてデバイスにインストールすることで使用できる人気のある暗号通貨交換です。インストールパッケージを取得する手順は次のとおりです。Gate.ioの公式Webサイトにアクセスし、「ダウンロード」をクリックし、対応するオペレーティングシステム(Windows、Mac、またはLinux)を選択し、インストールパッケージをコンピューターにダウンロードします。スムーズなインストールを確保するために、インストール中に一時的にウイルス対策ソフトウェアまたはファイアウォールを一時的に無効にすることをお勧めします。完了後、ユーザーはGATE.IOアカウントを作成して使用を開始する必要があります。

OKXとしても知られるOUYIは、世界をリードする暗号通貨取引プラットフォームです。この記事では、OUYIの公式インストールパッケージのダウンロードポータルを提供します。これにより、ユーザーはさまざまなデバイスにOUYIクライアントをインストールすることが容易になります。このインストールパッケージは、Windows、Mac、Android、およびiOSシステムをサポートします。インストールが完了した後、ユーザーはOUYIアカウントに登録またはログインし、暗号通貨の取引を開始し、プラットフォームが提供するその他のサービスを楽しむことができます。

Gate.ioは、広範なトークン選択、低い取引手数料、ユーザーフレンドリーなインターフェイスで知られる高く評価されている暗号通貨取引プラットフォームです。高度なセキュリティ機能と優れたカスタマーサービスにより、Gate.ioは、信頼できる便利な暗号通貨取引環境をトレーダーに提供します。 gate.ioに参加する場合は、リンクをクリックして公式登録インストールパッケージをダウンロードして、暗号通貨取引の旅を開始してください。

このチュートリアルは、既存のApacheサーバーに沿って、潜在的にubuntuシステムにnginxとphpmyAdminをインストールおよび構成することをガイドします。 Nginxのセットアップをカバーし、Apacheとの潜在的なポートの競合を解決し、Mariadbをインストールします(
