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 サイトの他の関連記事を参照してください。

Linux Recoveryモードを入力する手順は次のとおりです。1。システムを再起動し、特定のキーを押してGrubメニューを入力します。 2。[RecoveryMode)でオプションを選択します。 3. FSCKやrootなどの回復モードメニューで操作を選択します。リカバリモードを使用すると、シングルユーザーモードでシステムを開始し、ファイルシステムのチェックと修理を実行し、構成ファイルを編集し、システムの問題を解決するのに役立ちます。

Linuxのコアコンポーネントには、カーネル、ファイルシステム、シェル、および共通ツールが含まれます。 1.カーネルはハードウェアリソースを管理し、基本的なサービスを提供します。 2。ファイルシステムはデータを整理して保存します。 3.シェルは、ユーザーがシステムと対話するインターフェイスです。 4.一般的なツールは、毎日のタスクを完了するのに役立ちます。

Linuxの基本構造には、カーネル、ファイルシステム、およびシェルが含まれます。 1)カーネル管理ハードウェアリソースとUname-Rを使用してバージョンを表示します。 2)ext4ファイルシステムは、大きなファイルとログをサポートし、mkfs.ext4を使用して作成されます。 3)シェルは、BASHなどのコマンドラインインタラクションを提供し、LS-Lを使用してファイルをリストします。

Linuxシステムの管理とメンテナンスの重要な手順には、次のものがあります。1)ファイルシステム構造やユーザー管理などの基本的な知識をマスターします。 2)システムの監視とリソース管理を実行し、TOP、HTOP、その他のツールを使用します。 3)システムログを使用してトラブルシューティング、JournalCtlおよびその他のツールを使用します。 4)自動化されたスクリプトとタスクのスケジューリングを作成し、Cronツールを使用します。 5)セキュリティ管理と保護を実装し、iPtablesを介してファイアウォールを構成します。 6)パフォーマンスの最適化とベストプラクティスを実行し、カーネルパラメーターを調整し、良い習慣を開発します。

Linuxメンテナンスモードは、起動時にinit =/bin/bashまたは単一パラメーターを追加することにより入力されます。 1.メンテナンスモードの入力:GRUBメニューを編集し、起動パラメーターを追加します。 2。ファイルシステムを読み取りおよび書き込みモードに再マウントします:Mount-Oremount、RW/。 3。ファイルシステムの修復:FSCK/dev/sda1などのFSCKコマンドを使用します。 4.データをバックアップし、データの損失を避けるために慎重に動作します。

この記事では、DebianシステムのHadoopデータ処理効率を改善する方法について説明します。最適化戦略では、ハードウェアのアップグレード、オペレーティングシステムパラメーターの調整、Hadoop構成の変更、および効率的なアルゴリズムとツールの使用をカバーしています。 1.ハードウェアリソースの強化により、すべてのノードが一貫したハードウェア構成、特にCPU、メモリ、ネットワーク機器のパフォーマンスに注意を払うことが保証されます。高性能ハードウェアコンポーネントを選択することは、全体的な処理速度を改善するために不可欠です。 2。オペレーティングシステムチューニングファイル記述子とネットワーク接続:/etc/security/limits.confファイルを変更して、システムによって同時に開くことができるファイル記述子とネットワーク接続の上限を増やします。 JVMパラメーター調整:Hadoop-env.shファイルで調整します

このガイドでは、Debian SystemsでSyslogの使用方法を学ぶように導きます。 Syslogは、ロギングシステムとアプリケーションログメッセージのLinuxシステムの重要なサービスです。管理者がシステムアクティビティを監視および分析して、問題を迅速に特定および解決するのに役立ちます。 1. syslogの基本的な知識Syslogのコア関数には以下が含まれます。複数のログ出力形式とターゲットの場所(ファイルやネットワークなど)をサポートします。リアルタイムのログ表示およびフィルタリング機能を提供します。 2。syslog(rsyslogを使用)をインストールして構成するDebianシステムは、デフォルトでrsyslogを使用します。次のコマンドでインストールできます:sudoaptupdatesud

Debianシステムに適したHadoopバージョンを選択する場合、次の重要な要因を考慮する必要があります。1。安定性と長期的なサポート:安定性とセキュリティを追求するユーザーにとって、Debian11(Bullseye)などのDebianの安定したバージョンを選択することをお勧めします。このバージョンは完全にテストされており、最大5年のサポートサイクルがあり、システムの安定した動作を確保できます。 2。パッケージの更新速度:最新のHadoop機能と機能を使用する必要がある場合は、DebianのUnstableバージョン(SID)を検討できます。ただし、不安定なバージョンには互換性の問題と安定性のリスクがあることに注意する必要があります。 3。コミュニティのサポートとリソース:Debianには、豊富なドキュメントを提供できるコミュニティサポートが大きくなり、


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

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

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
