諸行無常

IT色々お勉強中のブログ

nginxのタイムアウト時間を伸ばす

defaultは60秒

sudo vi /etc/nginx/nginx.conf

httpブロックのタイムアウト時間を変更する(秒)

http{
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300;
   ...
}

特定のサーバだけ、時間変えたい時

server{
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300; 
   ...
}

再起動

sudo systemctl restart nginx

確認

systemctl status nginx

curlでログイン必要なapiに実行する

ログイン情報をcookieに保存する

curl -X POST -d "hoge=hogehoge" -d "name=hoge.hoge@hoge.jp" -d "password=hogehogheo" -c cookie -v "http://localhost:3000/login"

実行したいapiを実行

curl -X DELETE -b cookie -v http://localhost:3000/api/hoge/219.json | jq
でも何故か↑で上手く動かなかったので↓で実行

f:id:babababand:20200904100434p:plain

chromeの検証ツールで↑からcurlコマンドをコピーして実行したら上手く行った

mysql innodbでデッドロック起こった時

mysql innodbデッドロック起こった時

mysqlに入って状態を見る

SHOW ENGINE INNODB STATUS;

見方↓transactionsとか見るといいよ

www.slideshare.net

定期的にログを出す方法(20秒ごと)

set GLOBAL innodb_status_output_locks=ON;

パラメーターグループをonにする

DBロックに関する記事

blog.kamipo.net

norikone.hatenablog.com

qiita.com

qiita.com

elastic search スコアリング

ElasticSearchはsortが入っているとスコア順ソートにならない

sortをクエリから抜くとスコア順ソートになる

function_scoreを使うとドキュメントに対して自分でスコアをつけることができる

以下スコアリング設定方法

特定のフィールドによってスコアを上げる

ドキュメントのフィールド値をそのままスコアに利用出来る

  • Decay functions

ドキュメントのスコアを調整するために減少関数利用出来る

減少関数は、基準日、基準の数値、基準の位置に対して離れれば任意の値でスコアを減少させていく関数

原点を決めて、原点から離れるとどれくらい減衰するかの程度を決めたりする

  • weight

scoreに提供されたweightを掛けることが出来る 重みづけを変えることが出来る。

スコアを上げたい項目のweightを上げたりする

  • Ramdom

ランダムな数値を返す

  • Script Score

他のnumber型のfieldの値を使ってscore計算をカスタマイズできる

計算式を自分でかけるっぽい

  • functions内で複数の条件を組み合わせることが出来る

  • boost_mode、score_mode -> スコア演算で使用

    boost_mode queryでの検索結果によるスコアとfuctions内のスコア合算計算の種類分け

  • multiply

queryのスコアとfunctionsのスコアの掛け算の結果をスコアとして返す (記述がない場合これがデフォルト設定)

function_scoreのスコア = boost_mode(queryスコア * boost, functionsスコア)

  • replace

queryのスコアを破棄し、functionsのスコアのみを使用する

  • sum

queryのスコアとfunctionsのスコアを加算した結果をスコアとして返す

queryのスコアとfunctionsのスコアの平均の結果をスコアとして返す

  • max

queryのスコアとfunctionsのスコアの大きい方を結果として返す score_mode functions内の各項目の計算方法決め

  • multiply

functions内の各項目のスコアの掛け算の結果をスコアとして返す (記述がない場合これがデフォルト設定)

  • sum

functionsのスコアを足し算

  • ave

functions内の各項目のスコアの平均とした結果をスコアとして返す

  • first

functions内の各項目の最初に計算されたものを返す

  • max

functions内の各項目のスコアの最大値を結果をスコアとして返す

  • max_boost

計算後のスコアにリミット付けれる例:10を指定すると10以上のスコアつかない

  • boost

クエリのスコアを上げる?2だと×2になる