php로 부산버스 xml 파싱해오는데 속도가 너무 느립니다.
본문
php로 data.go.kr에서 제공되는 부산 버스 정보 시스템 파싱하여 출력하는 웹사이트를 구성하였는데
코드에 특별한 문제가 없는것같음에도 사이트 로드속도가 너무 느립니다.
정류장 약 10개 정도의 분량을 하나의 php에 로드하는데 캐시가 있을경우 10초 정도에서
캐시가 없으면 최대 5분까지도 걸립니다.
해당 질문글과 비슷한 내용인듯 하여 알아보았지만, 부산 버스 정보 시스템의 경우 도메인을 거쳐 오는 속도 문제로 현재는 아이피 주소로 정보를 제공하게끔 변경되었는데, 여전히 속도가 많이 느려 링크의 해결방법은 크게 도움이 되지 않는 것 같습니다.
$url = "http://61.43.246.153/openapi-data/service/busanBIMS2/busStopArr?bstopid=정류장ID&lineid=노선ID&serviceKey=서비스키";
$response = file_get_contents($url);
$object = simplexml_load_string($response);
$item = $object->item;
foreach($item->item as $value)
{
$title = $value->title;
$description = $value->description;
$link = $value->link;
}
/*---------------------------------------------------*/
$nodeNm = $object->body->items->item->nodeNm;
$carNo1 = $object->body->items->item->carNo1;
$station1 = $object->body->items->item->station1;
$min1 = $object->body->items->item->min1;
/*---------------------------------------------------*/
해당 소스코드 이용하여 정보 추출 중인데 특별히 문제 될 것이나 해결을 위해서 알아봐야 할 것이 있으면 알려주시면 감사하겠습니다.
!-->답변 1
방법이 따로 없습니다.
해당 api제공하는 서버측이 느리면 응답하는 속도도 당연히 느려질것이고
마찬가지로 받는 쪽의 서버가 느려도 받은 데이터를 가공하여 원하는 데이터로
출력하는데에 시간이 걸릴 수 있습니다.
api를 사용하는 사용자 쪽에서의 최선의 방법은 소스를 간소화하고
간결하게 하는 방법 밖에 없습니다.
그리고 file_get_content를 사용하는것 보다
curl을 사용하여 api를 전송하는것이 속도면에서 조금 더 빠를 수 있습니다.
답변을 작성하시기 전에 로그인 해주세요.