Calendarの1日目です。JX通信社でNewsDigestというアプリを開発しているyamitzkyです。本番での利用を始めてからちょうど1年を過ぎました。クラスタ内で動いています。リプレイスを行いました。どのようにパフォーマンスチューニングしたのかを紹介します。いう点が挙げられます。専用のスキーマやクエリなどの仕様があります。いうライブラリを選定しました*1。(ns/op)でした。他に検討したライブラリは以下のとおりです。*2graphql-python/graphene:元々利用していたライブラリ。レスポンスにかかる時間を短くしたいです。いう単一のエンドポイントしかありません。するための、専用のツールなどを入れる必要があります。使われることが多いと思います。使うと、どのリソースの解決に時間がかかっているかなどがよくわかります。対応は、ライブラリ依存です。対応していなかったため、この方法でのトレーシングはできませんでした*3。いうトレーシングに当時から対応していたため、こちらで対応することにしました。Tracing)のための規格のようなものです。規格に対応しています。分散トレーシングというのは、一般的にはマイクロサービスのためのトレーシングに使われます。マイクロサービスの計測では、「ある1つのリクエスト」が、複数のマイクロサービスへのリクエストになり、ボトルネックが探りにくい、という問題があります。計測が抱えていた問題と一緒です。そこで、どの通信にどれくらい時間がかかったかや、どこで失敗したかを探りたい、というのが分散トレーシングの目的となります。選択肢はいくつかあります。ようなサービスは選定から外していました。は少ないのではないかと思います。上で集計して見ることもできるので良かったです。画面です(一部加工済み)。こちらの画面を見ると、どこでエラーが起きていて、どこの処理に時間がかかっているのがわかります。処理が、ボトルネックとなっていることがわかります。ここでわかるのは、あくまで個別のリクエストについてです。絞るのがポイントです)。リソースの取得遅いようです。ボトルネックか、アプリケーションがボトルネックか...」というのは知りたい情報です。ボトルネックであることに気づいたりもしました。サービスは他にもあるので、分散トレーシングの仕組みをわざわざ入れなくてももっと賢い方法はあるかもしれませんが、トレーシングが規格化されているのは特定のウェブサービスに依存しなくて済むのでいいなと感じました。速くしてくれるサーバーサイドエンジニアを募集中です。*2:2018年3月に検証したため、現在は異なる可能性があります*3:検証していませんが、現在は対応済みのようです。ありがとうございます。使うことが多いと思います。Lambdaの構成管理のためにterraformを導入してみたFASTALERT開発チームバックエンドエンジニアの鈴木(泰)です。パターン...取締役の小笠原(@yamitzky)です。製のフ...2020-06-22ReactのコードをHooksにリファクタリングしていく話フロントエンジニアの渡辺(@pentla)です。〜小さく始めて大胆に変えるフロントエンドプロジェクト〜JX通信社CDOの小笠原(@yamitzky)です。Corp.引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。