2010-07-27 2 views
0

asp (클래식) 웹 서비스를 프로파일 링합니다. 웹 서비스는 데이터베이스 호출, 파일 읽기/쓰기 및 xml 처리를 수행합니다. Windows 서버 2003 상자 (2.7ghz, 4 코어, 4GB RAM)에서 일이 실패하기 전에 처리 할 수 ​​있어야하는 초당 요청 수.asp (클래스) 앱에서 처리해야하는 초당 요청 수

이 도구를 테스트하고 있지만 초당 많은 요청을 찾고 있습니다.

나는 이것이 상당히 모호하다는 것을 알고 있지만 가능한 한 최선의 결과를주십시오. 더 자세한 정보가 필요하면 질문하십시오.

답변

1

데이터 기반 응용 프로그램의 성능의 95 %는 1) 통화하는 방법, 2) 색인, 3) 데이터베이스 하의 하드웨어 (특히 디스크 하위 시스템)에 따라 달라집니다.

설명하는 것처럼 컴퓨터가 초당 40 개의 요청 (2500/분)을 처리하지만 초당 10 (600/분)과 같은 숫자가 더 일반적입니다. 동일한 시스템에서 DB를 실행하고 심지어 DB가 SQLExpress 또는 MSAccess 인 경우 더 낮게 설정하는 경우에도 성능이 저하 될 것으로 예상됩니다.

또한 용량에서 앱이 실패하지는 않지만 IIS는 요청이 포화 된 후에 대기열 요청을 처리하고 제한 시간이 만료되기 전에 IIS가 서비스를 제공 할 수없는 경우 해당 요청 중 일부를 시간 초과 할 수 있습니다.

Btw를 사용하면 앱을 테스트하는 도구를 만드는 대신 Microsoft WCAT와 같은 테스트 도구를 사용할 수 있습니다. 꽤 부드럽고 사용하기 쉽습니다.

+0

데이터베이스가 SQL Server 2003을 실행하는 자체 서버 (실제로 팜)에 있습니다. 정확한 디스크 설정이 확실하지 않고 SAN을 사용하고 있는데 그 이상으로 많이 알지 못합니다. 나는 WCAT이 나를 위해 잘될 것이라고 생각하지 않는다. 웹 서비스를 사용하기 위해서는 코드 없이는 처리하기 힘든 인증 과정이 필요하다. 또한 다른 요청의 결과에 의존하는 특정 요청을하려고합니다. 서비스 활동을 기반으로 한 프로파일을 사용하고 있습니다. – aepheus

0

얼마나 빨라야합니까? 빠르지.

얼마나 빠름? 그것은 당신과 당신의 사용자 만 대답 할 수있는 질문입니다. 귀하의 서비스가 무시 무시하게 비효율적이며 수요에 부응한다면, 충분히 빠릅니다. 서비스가 어셈블리에 최적화되어 있고 번개가 빠르며 요청에 압도 당하면 서비스가 충분히 빠르지 않습니다.

서버가 실제 작업량을 처리하는 경우 서버가 "얼마나 빨리"있어야하는지 걱정하지 마십시오. 서버에 문제가 있거나 곧 그렇게 될 것으로 예상되면 코드 개선이나 하드웨어 업그레이드를 고려해야합니다. 크 누스의 법칙을 기억하십시오 - 조숙 한 최적화는 모든 악의 뿌리입니다. 당신이 지금 그것을 빨리하기 위해하는 일은 결코 갚을 수 없으며, 유연성이나 유지 보수성을 가진 타협을해야 할 수도 있습니다. 또한 오래된 격언을 기억하십시오 - 파산하지 않았다면 고치지 마십시오.

+0

톰이 돈을 벌고 있습니다. 속도 = $$$. $, 시간 (물론 시간 = $). 따라서 $는 대개 속도를 높이는 데있어 가장 큰 제약 조건입니다. 그리고, 당신이 그것을 필요로하는 것보다 더 빨리 만들면, 당신은 과다한 지출을했을 것입니다. – tgolisch

+0

서비스가 특정로드를 처리 할 수 ​​있는지 묻는 메시지가 표시되고 중요한 내용을 유지해야하는 경우 해당로드를 처리 할 수 ​​있어야합니다. 이것은 당신이 처리 할 수있는 하중을 찾는 것을 의미합니다. 나는 최적화에 대해 전혀 묻지 않았다. – aepheus

0

예 저는 초당 10 개가 좋은 벤치 마크라고 말합니다. 고성능 응용 프로그램의 경우 이보다 더 많은 것을 얻고 싶지만 특정 목표가 없다면 일반적으로 데이터베이스 쿼리를 사용하여 일반 웹 페이지에 대해 초당 10 건의 요청을 받아야합니다.

관련 문제