Pythonでリクエスト時の応答時間を測定する
- 公開日:2019/01/25
- 更新日:2019/01/25
- 投稿者:n bit
PythonでURLから『requests』を使ってResponseオブジェクトを取得するときの応答時間の計測方法を解説します。requests.get()で要求を送信してから応答が到着するまでに経過した時間を計測します。
この記事は約 分で読めます。(文字)
Pythonでリクエスト時の応答時間を測定
インターネット接続時、遅延やウェブサイトの読み込み速度を改善するのに、Webサイトの読み込み時間を計測することから始まります。
またその他にも、Pythonコードのパフォーマンス改善やスクレイピングプログラムでのボトルネック発見など様々な場面でリクエストの応答時間の計測が必要になるでしょう。
Pythonでも色々と読み込み時間に関して計測できますが、今回は『requests.get()』時の応答時間の計測です。
『elapsed』を使った応答時間の測定
『requests』にはリクエストしてResponseまでの応答時間を測定してくれる属性『elapsed』が用意されています。
『elapsed』は、要求を送信してから応答が到着するまでに経過した時間を計測して『timedelta』で返す属性です。この値は、リクエストの最初のバイトを送信してからヘッダー解析が終了するまでにかかる時間を具体的に測定したものです。
そのため応答コンテンツや応答コンテンツのダウンロード時間による消費には影響されません。
利用方法は他の属性と同じで『requests.get()』で返されたレスポンスの後に属性情報つけて取得しましょう。
import requests
url = 'https://dot-blog.jp/'
res = requests.get(url)
time_elapsed = res.elapsed.total_seconds()
print('time_elapsed:', time_elapsed)
出力結果
time_elapsed: 1.528708
取得結果は『timedelta』のままでは確認しにくいので秒単位で出力できるようにtimedeltaの『total_seconds()』メソッドを利用しています。『total_seconds()』はtimedeltaの期間に含まれるトータルの秒数を出力するメソッドです。
改めて測って思ったことですが私のサイトの応答遅いですね。改善の余地ありです。
今日のdot
Pythonでリクエスト時の応答時間を測定するには、リクエストしてResponseまでの応答時間を測定してくれる『requests』の属性『elapsed』を利用します。
res.elapsed.total_seconds()
【フリーランス向けの完全無料Pythonプログラミング講座】
dot blogではこの記事以外にも完全無料でフリーランス向けのPythonプログラミング講座を公開中です。フリーランスとして活躍し稼ぐための強力な武器となりますよ。
Python入門講座【無料のプログラミング学習講座】
最近特に注目度が高くなってきているプログラミング言語Python。転職、フリーランス、独立・起業を検討中、日々の業務が忙しい社会人等は今こそ身に付けておきたいスキルの1つ。初心者向けにやさしいプログラミング学習内容のPython入門講座を無料で公開。