scorecard: tweak request measurements
Increase max-parallel up to 300, the curl max Tweak output to just give the http response code Closes #14564
This commit is contained in:
parent
20aa8d8f31
commit
6c5a7af754
@ -425,21 +425,30 @@ class ScoreCard:
|
|||||||
errors = []
|
errors = []
|
||||||
profiles = []
|
profiles = []
|
||||||
url = f'{url}?[0-{count - 1}]'
|
url = f'{url}?[0-{count - 1}]'
|
||||||
extra_args = ['--parallel', '--parallel-max', str(max_parallel)] \
|
extra_args = [
|
||||||
if max_parallel > 1 else []
|
'-w', '%{response_code},\\n',
|
||||||
|
]
|
||||||
|
if max_parallel > 1:
|
||||||
|
extra_args.extend([
|
||||||
|
'--parallel', '--parallel-max', str(max_parallel)
|
||||||
|
])
|
||||||
self.info(f'{max_parallel}...')
|
self.info(f'{max_parallel}...')
|
||||||
for i in range(sample_size):
|
for i in range(sample_size):
|
||||||
curl = CurlClient(env=self.env, silent=self._silent_curl)
|
curl = CurlClient(env=self.env, silent=self._silent_curl)
|
||||||
r = curl.http_download(urls=[url], alpn_proto=proto, no_save=True,
|
r = curl.http_download(urls=[url], alpn_proto=proto, no_save=True,
|
||||||
with_headers=False, with_profile=True,
|
with_headers=False, with_profile=True,
|
||||||
extra_args=extra_args)
|
with_stats=False, extra_args=extra_args)
|
||||||
err = self._check_downloads(r, count)
|
if r.exit_code != 0:
|
||||||
if err:
|
errors.append(f'exit={r.exit_code}')
|
||||||
errors.append(err)
|
|
||||||
else:
|
else:
|
||||||
for _ in r.stats:
|
samples.append(count / r.duration.total_seconds())
|
||||||
samples.append(count / r.duration.total_seconds())
|
non_200s = 0
|
||||||
profiles.append(r.profile)
|
for l in r.stdout.splitlines():
|
||||||
|
if not l.startswith('200,'):
|
||||||
|
non_200s += 1
|
||||||
|
if non_200s > 0:
|
||||||
|
errors.append(f'responses != 200: {non_200s}')
|
||||||
|
profiles.append(r.profile)
|
||||||
return {
|
return {
|
||||||
'count': count,
|
'count': count,
|
||||||
'samples': sample_size,
|
'samples': sample_size,
|
||||||
@ -450,17 +459,11 @@ class ScoreCard:
|
|||||||
|
|
||||||
def requests_url(self, url: str, proto: str, count: int):
|
def requests_url(self, url: str, proto: str, count: int):
|
||||||
self.info(f' {url}: ')
|
self.info(f' {url}: ')
|
||||||
props = {
|
props = {}
|
||||||
'1': self.do_requests(url=url, proto=proto, count=count),
|
# 300 is max in curl, see tool_main.h
|
||||||
'6': self.do_requests(url=url, proto=proto, count=count,
|
for m in [1, 6, 25, 50, 100, 300]:
|
||||||
max_parallel=6),
|
props[str(m)] = self.do_requests(url=url, proto=proto, count=count,
|
||||||
'25': self.do_requests(url=url, proto=proto, count=count,
|
max_parallel=m)
|
||||||
max_parallel=25),
|
|
||||||
'50': self.do_requests(url=url, proto=proto, count=count,
|
|
||||||
max_parallel=50),
|
|
||||||
'100': self.do_requests(url=url, proto=proto, count=count,
|
|
||||||
max_parallel=100),
|
|
||||||
}
|
|
||||||
self.info(f'ok.\n')
|
self.info(f'ok.\n')
|
||||||
return props
|
return props
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user