리눅스 커맨드 라인에서 웹 사이트 테스트하기


29

Linux 명령 줄에서 웹 사이트를 테스트하는 도구를 찾고 있습니다.

출력에서 http 응답 (상태 코드)을 알아야하지만 사이트의 다른 요소를 다운로드하는 데 걸리는 시간도 벤치 마크합니다.

미리 감사드립니다.


지금까지 무엇을 찾거나 보았거나 고려하고 있습니까 (적합한 / 적합하지 않은)?
mctylr

이 답변들 중 어느 것도 나에게 아주 좋은 말은 아닙니다. 당신은 여전히 ​​부정을 위해 나이를 기다려야합니다
지리학

답변:


35

당신이 시도 할 수 wget-p옵션 :

wget -p http://site.com

각 요소를 다운로드하는 데 걸리는 시간과 각 요청에 대한 리턴 코드가 표시됩니다.


2
wget -p URL -O /dev/null
Fedir RYKHTIK

9

Apache Benchmark를 참조하십시오.

아파치 벤치 마크

페이지 성능에 대한 개요를 제공합니다.


Apache benckmark는 외부 소스이기 때문에 사용할 수 없습니다. 실제로 YouTube 비디오 재생 목록입니다. 이 리소스에 대한 액세스를 모니터링하고 있습니다. TY
Embreau

왜 당신이 ab를 사용할 수 없는지 모르겠습니다. 다음 답변의 wget과 같이 벤치마킹 도구를 실행하는 컴퓨터에서 사이트의 URL에 액세스 할 수 있으면 작동합니다.
gareth_bowles

Apache 벤치 마크는 로컬 리소스에만 국한되지 않으며 전체 성능 측정 도구 (네트워크 대기 시간, i / o 등)를 의미합니다.
andre

알아두면 좋겠습니다.이 옵션을 평가하겠습니다. 감사합니다.
Embreau

6

다음과 같은 옵션을 볼 수 있습니다 curl.

  • --write-out -몇 가지 시간 관련 변수를 표시합니다
  • --trace-time -각 트레이스 또는 상세 라인에 타임 스탬프를 추가합니다
  • --verbose
  • --include -(HTTP) 출력에 HTTP 헤더를 포함시킵니다.
  • --trace-ascii <file> -설명 정보를 포함하여 모든 수신 및 발신 데이터의 전체 추적 덤프 가능

그리고 다음의 옵션 wget:

  • --timestamping -타임 스탬프 켜기

curl --trace-ascii <file> --trace-time -o /dev/null <url>정확히 내가 필요한 것입니다. 감사!
dsummersl

3

셀레늄과 컬은 목표에 따라 좋은 옵션입니다. 또한, 내가 꽤 좋아하는 유틸리티는 twill입니다. 자세한 내용은 http://twill.idyll.org/를 참조하십시오 .

양식 작성, 링크 확인 및 응답 코드 확인을위한 전문 언어가 거의 없기 때문에 좋습니다. 그것은 단지 파이썬 코드이기 때문에, 다른 것을 원한다면 쉽게 라이브러리를 가져오고 테스트를 자동화 할 수 있습니다.


2

curl을 사용하여 페이지의 헤더를 가져오고 프로세스 시간을 정하십시오.

time curl -I http://yourpage.com | grep HTTP

그것을 while 루프로 감싸면 좋습니다. URL을 알고 있으면 모든 요소를 ​​확인할 수있는 것과 같은 방법입니다.


1

여기에 지시 된대로 'siege'라는 명령 줄 도구를 사용해보십시오


6
그가 요구 한 것은 아닙니다. 당신이) = 삼년 후반도있어
mveroone

1

선택하는 도구는 측정하려는 대상과 사이트의 복잡성에 따라 다릅니다.

사이트의 동작이 쿠키에 의존하는 경우 (예 : 사용자가 로그인해야 함) ab / curl / wget (다른 답변에 설명 됨)으로 충분하지 않습니다. 한 가지 해결책은 http :: recorder / www :: mechanize를 사용하는 것입니다. 입니다.

요청하는 모든 데이터는 웹 서버 로그에 있으며 간단한 awk 스크립트는 더 읽기 쉬운 형식으로 반환합니다.

사이트의 다른 요소를 다운로드하는 데 걸리는 시간을 벤치마킹하십시오.

이는 성능의 매우 나쁜 지표입니다 (생산 시스템의 상태를 모니터링하는 데 유용하지만). 부피가 큰 보고서, ISO 이미지, 멀티미디어 파일과 같은 대용량 / 느린 리소스를 제외하고는 성능에 대한 인식은 단일 요청을 처리하는 데 걸리는 시간과 거의 관련이 없었으며이를 정확하게 측정하는 것은 매우 어렵습니다 (단순 % 아파치 로그에 D는 문제를 해결하는 것으로 보이지만 TCP 핸드 셰이크, SSL 협상, 캐싱 효과, DNS 조회 시간은 무시합니다.

더 나은 솔루션은 Boomerang 과 같은 것을 사용하는 것이지만 Javascript 가능 브라우저에서 실행됩니다. 이는 개별 HTTP 요청을 추적하는 것보다 인식 된 성능을 더 잘 나타내는 지표를 제공하지만 성능에 대한 가치를 도출하기 위해 브라우저 이벤트에 의존하지만, 인식 된 성능은 뷰포트가 렌더링하는 데 걸리는 시간에 관한 것입니다. WebPageTest 에서 필름 스트립 도구를 살펴보십시오 .)

현장 테스트 사용자 (RUM)와 실제 테스트에 실제로 제공되는 성능을 측정하는 것에 대한 논쟁도 있습니다.



0

JMeter 시도해 볼 수있는 성능 테스트를 생각합니다 . 내장 프록시를 사용하여 테스트를 기록 할 수 있습니다. 또한 로컬 또는 분산 텍스트 모드로 실행됩니다. 결과를 csv 또는 xml 형식으로 저장할 수 있습니다. xml 형식을 사용하는 경우 페이지의 내용을 저장할 수도 있습니다.


0

헤더를 확인하기 위해 httpie( docs )를 합니다.

설치

pip install httpie --user

용법

$ http -h http://serverfault.com/q/124952/113899
HTTP/1.1 302 Found
Accept-Ranges: bytes
Age: 0
Cache-Control: private
Connection: keep-alive
Content-Length: 198
Content-Type: text/html; charset=utf-8
Date: Fri, 06 Jan 2017 10:01:06 GMT
Location: http://serverfault.com/questions/124952/testing-a-website-from-linux-command-line
Set-Cookie: prov=392298d9-103e-7dfc-5b55-8738be46cf3b; domain=.serverfault.com; expires=Fri, 01-Jan-2055 00:00:00 GMT; path=/; HttpOnly
Via: 1.1 varnish
X-Cache: MISS
X-Cache-Hits: 0
X-DNS-Prefetch-Control: off
X-Frame-Options: SAMEORIGIN
X-Request-Guid: 07a25de4-6e16-4aa8-acfc-12b1bbbc6180
X-Served-By: cache-hhn1543-HHN
X-Timer: S1483696865.976259,VS0,VE187
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.