ablog

不器用で落着きのない技術者のメモ

プロセス の検索結果:

Amazon RDS のメモリ使用量を確認する

AWS

…reSQL などマルチプロセス・共有メモリモデルのプロダクトの場合に注意が必要だが、Huge Pages が使われているので肥大化することはないはず。 OS プロセスリスト OS processes、RDS processes、Aurora Storage Daemon、aurora [x] の RES でメモリ使用量の多いプロセスを確認する(MySQL の場合の例)。 関連 Amazon RDS for MySQL で確保できるメモリが少ない問題をトラブルシューティングする

SOSP21 で best paper 賞を受賞した S3 の論文を読んでみる

AWS

…rdStoreの設計プロセスの早い段階でこれらの課題に直面し、ストレージシステムの検証における最近の成功からインスピレーションを得て[8、18、49]、自信を高めるために形式手法を適用することを決意した。形式手法を選択したのは、S3の規模と複雑さで既製のツールでテストするのが難しいShardStore の実装の深い特性を検証できるためです。つまり、APIレベルの呼び出しの機能の正確さ、ディスク上のデータ構造のクラッシュの一貫性、API呼び出しやガベージコレクションなどのメンテ…

PostgreSQL の max_connectons、pgpool-Ⅱ の max_pool と num_init_children、Webサーバ(Client)のプロセス数について

…gpool-II のプロセス数 web(client) からは num_init_children のコネクションを張ることができる pgpool-IIと PostgreSQL の間は num_init_children * max_pool のコネクションを張ることができる。 prefork されたプロセスが max_pool をマルチスレッドで処理する(さらに子プロセスを fork するわけではない) max_pool*num_init_children <= (max_…

yum を実行すると "Error: rpmdb open failed" と怒られる

…となって、yum のプロセスを kill してしまうと、こういうことが起きてしまいます。それ以外にも rpm のデータベースの更新作業中に、パソコン・サーバのOSがクラッシュしてしまったなどのケースでも、データベースが破損する可能性があるでしょう。 $ sudo yum install w3m エラー: rpmdb: BDB0113 Thread/process 3553/139637759510336 failed: BDB1507 Thread died in Berke…

Amazon Linux 2 に Tanel Poder の 0x.tools をインストールする

… 使ってみる 適当にプロセスを実行する。 $ yes >> /dev/null & [1] 26464 psn $ psn -p 26464 -G syscall,filename Linux Process Snapper v0.18 by Tanel Poder [https://0x.tools] Sampling /proc/syscall, stat for 5 seconds... finished. === Active Threads ============…

Aurora リードレプリカによる RDS MySQL から Aurora MySQL への移行

AWS

…リードレプリカの作成プロセスをスピードアップできます。 (中略) 移行が完了したら、Aurora リードレプリカをスタンドアロン DB クラスターに昇格させ、クライアントアプリケーションを Aurora リードレプリカのエンドポイントに誘導することができます。Aurora エンドポイントの詳細については、「Amazon Aurora 接続管理」を参照してください。昇格はすばやく完了し、昇格中も Aurora リードレプリカに対する読み取り/書き込みを行うことができます。ただし…

Aurora PostgreSQL のインスタンスクラス別のローカルストレージのサイズ

AWS

…す。詳細については、「Amazon Aurora メトリクス」を参照してください。 一部のワークロードでは、オペレーションを実行しているプロセスに割り当てるメモリ量を増やすことで、一時ストレージの量を減らすことができます。オペレーションに使用できるメモリを増やすには、PostgreSQL パラメータの work_mem または maintenance_work_mem の値を増やします。 Amazon Aurora PostgreSQL の管理 - Amazon Aurora

NiziU プロデューサー J.Y.Park 氏のリーダーシップ・マネジメント手法

…果承認」だけでなく、プロセスや進捗や頑張りを認める「行動承認」、挨拶や存在してくれていることへの感謝を示す「存在承認」などがあり、これらは意欲的なチームや働きやすい職場づくりのためには重要な要素とされている。 第3の特徴 「具体的で的確なアドバイス、明確な宿題を与える」 J.Y. Park氏は参加者に何か改善を求める際には、曖昧な表現は使わない。「気合が足りない」、「それくらい自分で考えろ」といった言葉で「指導をしているつもり」になっている上司も世の中には多くいるが、J.Y.…

簡易 Linux 性能情報取得コマンド

…Function Return Shift + w Ctrl + c top -Hbc -d 5 > top_20180109.log & # 自前 pidstat (topでCPU使用率が高いプロセスのPIDを指定する) while : do cat /proc/<★PID>/stat|awk '{print strftime("%Y-%m-%d %H:%M:%S"), $0}{fflush()}'> pid_stat_20200826.log & sleep 5 done

Github で fork する

Github にログインした状態で fork したいリポジトリに移動して [Fork] をクリックする。 参考 リポジトリのフォークは、2 つのステップからなるシンプルなプロセスです。 練習用のリポジトリを用意しましたので、ぜひお使いください。 GitHub で、octocat/Spoon-Knife リポジトリに移動します。 ページの右上にある [Fork] をクリックします。 リポジトリをフォークする - GitHub ヘルプ

Apache Spark パフォーマンス分析・チューニング

…s Japan 実行プロセス クエリ実行プロセス An Insider’s Guide to Maximizing Spark SQL Performance from Takuya UESHIN プロセスモデル Spark in Action - 10.1.1. Spark runtime components - Figure 10.1 タスクスケジューリング(FIFO と Fair) Spark in Action - 10.2.2. Spark job schedul…

マイクロサービスとは

…のサービスは独立したプロセスとして実行され、HTTP API のような軽量のメカニズムでやりとりを行います。それらのサービスはビジネスドメイン単位で開発され、個別に自動デプロイが可能です。これらのサービスの中央集権的な管理は最小限にとどめられ、異なるプログラミング言語が使われたり、異なるデータストレージ技術が使われたりします。 モノリシックアプリケーションとの比較 To start explaining the microservice style it's useful t…

サービスメッシュの歴史

…下したことで、アウトプロセスプロキシが提供する運用上の利便性を考慮すると、ライブラリは魅力的ではなくなった。 Proxies sidestep many of the downsides of libraries. For example, when a library changes, these changes must be deployed across every service, a process which often entails a complex or…

Session Manager のログ

AWS

…SSMエージェントのプロセスを確認する。 [root@ip-172-30-1-97 ~]# ps -elf|grep [s]sm- 4 S root 30299 1 0 80 0 - 164149 - 04:23 ? 00:00:00 /usr/bin/amazon-ssm-agent 4 S root 30404 30299 0 80 0 - 138868 wait_w 04:27 ? 00:00:00 /usr/bin/ssm-session-worker az...-.…

Oracle Database のクエリオプティマイザに関するエッセイ

…脱線しますが、マルチプロセスアーキテクチャも Segmentation fault でサーバプロセスならセッションレベルの障害で済むから好むお客さんもいたとのことで、設計者の意図と異なる点が好まれたり、歴史を振り返ると面白いです。RDBMSの歴史に興味がある方は東大でデータベースの研究をされている早水先生が書かれた The Database Times vol.1 の「データベースシステムの夜明け」を超おすすめします。 Oracle Database のクエリ最適化には「問合…

Presto で Parquet にクエリすると、参照するカラムのみ読んでいることを確認した

… IOを発行しているプロセスを確認すると HDFS であることが分かる。 $ sudo iotop -aoP Total DISK READ: 0.00 B/s | Total DISK WRITE: 3.75 K/s PID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 10858 be/4 hdfs 22.56 G★ 28.00 K 0.00 % 1.47 % java -Dproc_datanode -Xmx4096…

CloudFormation で EMR クラスター作成時に Presto の S3 Select Pushdown を有効化する

AWS

…クラスターに転送してプロセスされる必要のあるデータ量が減るため、パフォーマンスが向上します。これらの機能の詳細については、S3 Select with Hive および S3 Select with Presto のページをご覧ください。 Amazon EMR リリース 5.18.0 にて、Flink 1.6.0、Zeppelin 0.8.0、S3 Select と Hive および Presto の併用をサポート Enabling S3 Select Pushdown Wi…

Parquet ファイルに Presto でクエリ時の Column Projection について調べた

… I/O発行量の多いプロセスを確認する。 $ sudo iotop HDFS プロセスのシステムコールトレースを取得し、ファイルの位置と範囲を指定してランダムアクセスしていること $ sudo csysdig システムコールで読んでいるオフセットと範囲を可視化し select count(year) より select count(review_body) のほうがI/Oサイズが大きいこと Linux カーネルのブロックレイヤーのI/O量 iostat で見たI/O量が se…

Aurora PostgreSQL互換でクエリログを取得する

AWS

… データベース名、 プロセス識別子、 クライアントホスト:ポート番号、 セッション識別子、 セッション前行番号、 コマンドタグ、 セッション開始時間、 仮想トランザクション識別子、 通常トランザクション識別子、 エラーの深刻度、 SQL状態コード、 エラーメッセージ、 詳細エラーメッセージ、 ヒント、 エラーとなった内部的な問い合わせ(もしあれば)、 内部問い合わせにおけるエラー位置の文字数、 エラーの文脈、 PostgreSQLソースコード上のエラー発生場所(log_err…

perf-map-agent 実行時に "AttachNotSupportedException: Unable to open socket file" と怒られる

…てから、hdfs のプロセスにアタッチしようとすると "AttachNotSupportedException: Unable to open socket file" と怒られる $ ps -elf|grep hdfs $ sudo -u hdfs java -cp attach-main.jar:$JAVA_HOME/lib/tools.jar net.virtualvoid.perf.AttachOnce 6362 Exception in thread "main" …

Prestoでparquetファイルにクエリをかける

…でメモリ使用量の多いプロセスを確認して、presto(Java) を kill する。 http://master-public-dns-name::8889/ Netflix Vector で Memory Utilization と Disk Throughput を確認 iotop hdfs の metadata をダンプする インストール sysdig をインストールする。 sysdig でシステムワイドに実行回数が多いシステムコールを調べる - ablog ioto…

db tech showcase 2018 Day 1

DB

…トする必要がある。 プロセス(データ処理部分)のテスト観点 正確性: 仕様通りマッピング・変換されているか 非重複性: ユニークになるべきデータの組み合わせがユニークになっているか 完全性: 投入されるべきデーアが全て投入されているか 一貫性: テーブル・パーティション同士の関連性が一貫しているか 課題 変更検知した場合のエスカレーション・コミュニケーションフローは別途必要。 実データをテストに使っているため、ガバナンス・環境上の問題が起きやすい。 テスト実施コンピュートコス…

Amazon Redshift で取得できる監査ログ

AWS

…ントに関連付けられるプロセス ID。 dbname データベース名。 username ユーザー名。 authmethod 認証方法。 duration 接続時間 (マイクロ秒)。 sslversion Secure Sockets Layer (SSL) バージョン。 sslcipher SSL 暗号。 mtu 最大送信単位 (MTU)。 sslcompression SSL 圧縮タイプ。 sslexpansion SSL 拡張タイプ。 100000000000_redsh…

Amazon ECS を使ってみる

AWS

… コンテナで実行中のプロセス一覧を表示する $ docker top 621192cdd629 UID PID PPID C STIME TTY TIME CMD root 4189 4169 0 06:30 ? 00:00:00 httpd -DFOREGROUND bin 4241 4189 0 06:30 ? 00:00:00 httpd -DFOREGROUND bin 4242 4189 0 06:30 ? 00:00:00 httpd -DFOREGROUND b…

コンテナ について

…れさまざまなアプリのプロセスが稼働しています。隙間なく積まれたコンテナの群れをよく目を凝らしてみてみると、コンテナ同士はぴったりとくっついて配置されていますが、お互いのコンテナは、となりのコンテナの内容物(プロセス)は知り得ません。すなわち、ホストOSであるコンテナ船から見た人は、コンテナという分離された空間がいくつも存在するかのように見えます。これが、分離された空間=コンテナと呼ばれるゆえんです。 また、船の平らな甲板にコンテナが直接触れて置かれている点も重要です。平らであ…

Process Explorer で Windows のプロセスの環境変数を確認する

Sysinternals の Process Explorer で確認できる Process Explorer - Windows Sysinternals | Microsoft Docs How to see names and values of environment variables in Windows 8 and Windows 7

PostgreSQL で "Too many open files in system" が発生する

…cess でサーバ子プロセスごとにオープンできる上限を設定できる。ソケットを使うときもファイルディスクリプタをオープンするので max_connections の数もファイルのディスクリプタ数に関係する。 参考 max_files_per_process (integer) それぞれのサーバ子プロセスが同時にオープンできるファイル数の最大値をセットします。 デフォルトは1000ファイルです。 もしもカーネルがプロセス毎の安全制限を強要している場合、この設定を気にかける必要はあ…

nethogs でプロセス別の通信量を調べる

…なもので通信量の多いプロセスをランキング表示して、秒間通信量も見ることができる。 インストール sudo yum -y install gcc-c++ libpcap-devel.x86_64 libpcap.x86_64 ncurses* git clone https://github.com/raboof/nethogs cd nethogs make sudo make install 使ってみる sudo /usr/local/sbin/nethogs 参考 Net…

RDS PostgreSQL で大量にセッションを張った場合のメモリ使用量を調べる

…以上スワップした。 プロセス自体のメモリ、ワーク領域、ページテーブル(PTE)などで1セッションあたり、6MB以上は使っている計算になる。 検証 pgbench を以下で2つ同時に実行して、負荷をかけた。 % pgbench -r -c 1000 -j 1000 -t 100000 -U awsuser -h pg-m4xlarge-master-6.******.ap-northeast-1.rds.amazonaws.com -d mydb 結果 AWSマネジメントコンソ…

Aurora MySQL互換に LOAD コマンドで CSV ファイルをロードしようとすると "ERROR 1148 (42000)" で失敗する

…て、Web サーバープロセスが読み取りアクセス権を持つすべてのファイルを読み取ることができます (ユーザーが SQL Server に対してあらゆるコマンドを実行できる場合)。この環境では、MySQL サーバーを基準にしたときのクライアントは実際には Web サーバーであって、Web サーバーに接続するユーザーによって実行されているリモートプログラムではありません。 MySQL :: MySQL 5.6 リファレンスマニュアル :: 6.1.6 LOAD DATA LOCAL…