2012-03-23 4 views
4

안녕하세요 유래 사람들을 사용하여 냉동 보관 (mssql) 버전은 12.0입니다.제 3 계층의 웹 사이트는 <p><strong></p> 7 co.kr에서 IIS를</strong></p> <p>내 PHP는 창문에 설치되어있는 배경의 비트를 사용하고 난의 Web.config와 SQL 서버를 구현, 컬

내가 구축 한 사이트는 내가 한 COM은 MSSQL 및 웹 계층을 포함하는 다른 응용 프로그램 계층을 포함하여 2 COMS를 사용하여 테스트 한 의미 이론적 3 개 계층 아키텍처입니다.

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_USERAGENT, 'curl'); 
curl_setopt($ch, CURLOPT_TIMEOUT, 5); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: close')); 
$result = trim(curl_exec($ch)); 

this question을 표절 : 사용자가 연결할 때

때문에,이 같이 보입니다 응용 프로그램 계층에 요청을 보낼 PHP의 컬 기능을 사용하여이

[user's com] --request page--> [web tier] --request info--> [app tier] --get info--> [mssql tier] 

메신저처럼 연결 비트.

가끔 나는 $ .ajax 전화를 사용하여 고객 등급이나 메시지 같은 웹 계층의 콘텐츠를 수신합니다.

일반적인 페이지에는 10-20 건의 cUrl 호출이 포함될 수 있습니다.

문제점

문제는 사이트가 3 네 페이지 (가 있지만, 일반적으로이 범위에서, 임의의) 또는 페이지 나던 부하 모든 (후 동결 유지 자사의 나의 이해에이 때문이다 curlopt_timeout 옵션? 설명이 필요함) IIS 서버를 다시 시작해야합니다. com을 계속 유지하는 cUrl 함수임을 확인했습니다.

나는 해결책 지금 몇 달을 검색했지만, 약 20 개의 솔루션 후, 난 내 순발력 끝에 해요. 나는 cUrl이 전체 ​​IIS를 얼려 버리는 이유를 모르지만 (전체 localhost는 멈춤), 전체 사이트를 다른 COM으로 복사했을 때 왜 계속 돌아가는지 잘 모른다.

2 com (위 참조)에서 테스트 할 때 사이트가 실제로 느리게로드되었습니다. 분명히뿐만 아니라 때문에 cUrl. 나는 누군가가 무슨 일이 일어나고 있는지에 도움이 되거 수 희망, 그리고 솔루션, 가능하면하고있어

.

는 커뮤니티에 유래 감사드립니다.

추가 정보를 원하시면

는 모든 컬 요청이 응용 계층에 하나의 PHP 파일로 이동을 문제를 해결하는 데 도움이된다면, 입력을 읽고 필요한 경우 MSSQL 테이블 페이지를로드 dbQuery.php, 어떤 정보를 얻거나 보내고 xml에 mssql 결과를 반환합니다. (가장 큰 페이지가 37 개의 cUrl 호출을 생성했기 때문에 이것이 병목 현상을 일으킬 수 있다고 생각합니다.)

업데이트

내가 컬의 수를 줄이는 노력이 아침에 (26/3/2012)를 호출 및 웹 사이트 성능이 많이 향상.하지만 여전히 동결이 발생합니다. \

+0

는 Windows 로그? – Stony

+0

에서 모든 메시지가 있습니까없이 ... 해결, 아니, Timer_ConnectionIdle –

+0

단지 무리가 아니 내가 의미했다 시스템 로그 unter "내 컴퓨터"-> 마우스 오른쪽 버튼 -> 관리 및 syslogs가 있습니다. 서버가 응답하지 않으면 httperr.log에 메시지가 없습니다. – Stony

답변

0

말풍선을 사용하여 읽으려는 URL이로드되는 데 시간이 더 걸릴 수 있습니다. 따라서 브라우저에 동일한 URL을로드하고로드하는 것을 확인하십시오.

+0

나는 이전에 CURLOPT_CONNECTTIMEOUT & CURLOPT_TIMEOUT 각각 10 넣어, 그리고 그것을 여전히 발생하다 –

0

저는 최근에 클라이언트의 웹 서버에 웹 사이트를 올려 놓았습니다. 얼어 버린 것 같습니다. 어떤 생각이라도 그래도?

이 내용이 변경되었으므로이 질문을 localhost cURL 문제로 변경해야합니까? 나는 왜 cUrl이 내 로컬 호스트를 얼려 놓았는지, 또는 실제로 3 계층 환경에 놓았을 때 왜 사라 졌는지에 대해 아직 알지 못합니다. u는에 Httperr.log을 의미하는 경우

어느 방법, 질문에 대한 답변 :(