Linuxバックエンドサービスの大量文字列データの処理 - 効率が悪い
C++開発の歴史的なプロジェクトにおいて、カスタムプロトコルを使用して通信を行っており、そのプロトコルは2次元配列のパターンを採用していました。大量データを処理する際に、プロトコル内部では配列を遍历し、シリアライズ操作を実行してログを生成しており、このため効率が低く、システムが高負荷時に顕著なフレーム落ち(カドゥ)を引き起こしました。事業部門からは、システムのフレーム落ちに関するフィードバックがありました。
C++開発の歴史的なプロジェクトにおいて、カスタムプロトコルを使用して通信を行っており、そのプロトコルは2次元配列のパターンを採用していました。大量データを処理する際に、プロトコル内部では配列を遍历し、シリアライズ操作を実行してログを生成しており、このため効率が低く、システムが高負荷時に顕著なフレーム落ち(カドゥ)を引き起こしました。事業部門からは、システムのフレーム落ちに関するフィードバックがありました。
同一段業務コードにおいて、プログラムが CentOS 7 環境下で正常にコンパイルおよび実行されていたが、CentOS 8 に切り替えて GCC の最新版を使用してコンパイルを行った際に、プログラムがクラッシュが発生した。注目すべきは、問題が Release モード 下でのみ発生し、Debug モード では完全に問題がない点である。これは初めての事例であり、3日間の調査を経て、問題の原因を特定することができた。
Windows 平台上有鲁大师(娱乐大师),不能说数据很准,但总归有个参考,当然也有其他的专业跑分软件。到了 Linux 系统,好像一直没遇到特别合适的跑分软件。
Sysbench 是一款多功能的基准测试工具,可用于测试 CPU、内存、文件 I/O、线程性能等。您可以使用 Sysbench 来执行各种性能测试任务。
長年携わってきたのは CentOS オペレーティングシステムであり、mac ユーザーや Ubuntu ユーザーの場合、一部の内容は適用できない。
インストールに関する部分は、清華大学のドキュメントを参照するのが参考になる:https://mirrors.tuna.tsinghua.edu.cn/help/docker-ce/
著者はハードウェアに強い関心を持ち、JMeterを用いて負荷テストを実施し、CentOS 7上にJMeter、InfluxDB、Grafanaをデプロイするプロセスを記録しました。JMeterのインストールとコマンドの使用方法、InfluxDBの特徴とDockerによるインストール方法、Grafanaの簡易的なデプロイと設定について共有しています。高性能プログラムモードに関する経験や参考資料をまとめました。
オンラインプロ덕ション環境のオペレーティングシステムとして、Red HatとCentOSが主流の選択肢です。2つのシステムのライフサイクルに関する公式サイトへのリンクを記録し、CentOS 8からCentOS 8 Streamへのアップグレード経験を共有しています。