ブックマーク / zenn.dev/ryo_yamaoka (2)

  • grpc-goのNewClient()を使うとbufconnを使ったテストがUnavailableでコケる件の対処法

    TL;DR grpc-go v1.64.0からDial()やDialContext()がDeprecatedとなった 代わりに推奨されたNewClient()を使うとbufconnを使っているテストがUnavailable(name resolver error: produced zero addresses)で落ちる 初期化として resolver.SetDefaultScheme("passthrough") を突っ込むと動くよ 原因 gRPCクライアントを作成する際、従来のDial(), DialContext()ではデフォルトのネームリゾルバーは passthrough として作成されます。 これがNewClient()からは dns になったためです。 bufconnは passthrough であることが前提で作られているためエラーになります。 rpc error: code

    grpc-goのNewClient()を使うとbufconnを使ったテストがUnavailableでコケる件の対処法
    tmatsuu
    tmatsuu 2024/06/09
    メモ
  • 即席負荷試験ツールを実装するためのライブラリを作りました

    モチベーション 世の中には様々な負荷試験ツールがあり、それらは大概シナリオを組めたり複数ノードからリクエストを送れたりと高機能です。無論それは素晴らしいことなのですが 新しく実装したAPIで目標RPSを達しているかざっくり確認したい インデックスの追加前後でパフォーマンスに大きな影響が出ないか見てみたい 等といったシンプルな要件においてはセットアップ諸々の手間を考慮すると少々億劫な面があると思います。かといって自分で即席ツールを実装しようとすると 試験パラメーター取得処理 パフォーマンスを意識した実装 並行処理の排他制御 統計情報の出力 等々地味に面倒な実装が多くこちらもそれなりの労力を要します。或いはもっと簡便な試験ツールを使おうとすると微妙に痒いところに手が届かなかったりもするでしょう。 こうしたケースで簡単に負荷試験ツールを実装できるライブラリがあればもっと気軽に負荷試験を行え便利な

    即席負荷試験ツールを実装するためのライブラリを作りました
    tmatsuu
    tmatsuu 2022/09/23
    わいわい
  • 1