반응형웹과 트래픽에따른 서버 개선에대한 부분질문드립니다.

ToTb Story/ToTb 네이버지식 Story 2019. 7. 12.
반응형웹과 트래픽에따른 서버 개선에대한 부분질문드립니다.

 

 

 

[질문]

 

 

반응형웹과 트래픽에따른 서버 개선에대한 부분질문드립니다.

 

 

저는 개발자는 아니구요.

 

 

자체 반응형웹을 의뢰해서 개발을 했습니다

현재는 앱으로 출시를 한 상태이구요.

여기서 질문드립니다.

 

현재 앱을들어가서 상품들을 클릭하다보면, 클릭후 반응이 느린부분이 있는데요.

여기서 질문드립니다.

 

1.반응형웹을 개발하여 앱으로 출시한경우, 이런 로딩과정으로 인한 느린부분은 어쩔수 없는부분인가요?

2. 반응형웹으로 개발했다고하더라도, 서버를 개선하여 트래픽 양을 늘리면, 이부분이 일정부분 개선할수 있는 여지가 있나요??

 

결론은, 반응형웹과 서버의 트래픽양의 상관관계가 궁금합니다.

답변 감사드립니다.

 

 

 

[답변]

안녕하세요.  IT전문  컨설턴트입니다

 

 

 

질문하신 내용에 대한 답변을 먼저 드리겠습니다.

 

1.반응형웹을 개발하여 앱으로 출시한경우, 이런 로딩과정으로 인한 느린부분은 어쩔 수 없는 부분인가요?

반응형웹을 개발하여 앱을 출시하였다고 해서 필연적으로 로딩과정이 느려지지는 않습니다.

 

2. 반응형웹으로 개발했다고하더라도, 서버를 개선하여 트래픽 양을 늘리면, 이부분이 일정부분 개선할수 있는 여지가 있나요??

서버를 개선하여 트래픽 양을 늘림으로써 문제를 일시적으로 개선하는 것은 가능합니다.

하지만 속도에 관한 문제를 해결하기 위해 서버와 트래픽 양을 확장시키는 방법만 사용하신다면

매달 부담해야하는 운영비용이 크게 늘어나게 된다는 단점이 있습니다.

이러한 문제를 근본적으로 해결하기 위해서는 초기에 대용량 네트워크 설계 기술을 기반으로 개발을 진행하셔야 합니다.

 

결론적으로 반응형웹과 서버의 트래픽양은 상관관계가 없습니다.

지금 문의하신 내용으로 판단해보았을 때 로딩속도가 느린 부분은

웹사이트 속도 저하 현상 때문으로 판단됩니다.

 

 

웹사이트의 속도 저하 현상은 다양한 요소에 의해 발생합니다.

이 부분에 대해서 정밀하게 진단을 해야 근본적인 개선안이 나올 것으로 생각이 됩니다.

로딩속도 저하에 대한 원인을 파악하기 위해 점검해보셔야 하는 부분에 대해서 대략적으로 말씀드리겠습니다.

 

 

1. 사이트 개발방법론

웹사이틀 제작하는 방법은 다양합니다. 어떤 개발방법론을 사용하는지에 따라서 다양한 체크포인트가 발생할수 있습니다. 예를 들어 단계별 개발방법론을 기준으로 작업을 했다면, 비효율적으로 운영되는 프로세스를 분석해 보고, 이를 개선하는 방법에 있어서 최적화를 기대해 볼 수가 있습니다. 따라서 사이트를 제작하는데 있어서 사용한 개발방법론에 대한 점검은 필수입니다.

 

2. 프로그래밍언어

웹사이트를 제작하기 위해서 일반적으로 3세대 개발언어인 ASP,PHP,JSP를 주로 사용합니다. 만약 CGI와 같은 2세대 개발언어를 사용하게 된다면 동시접속자가 몰리게 되었을 때 속도저하 현상이 나타나게 될 것 입니다. 또한 각 언어별로 활용해야 하는 개발방법론이 다르기 때문에 여기에 맞춰진 개발 또한 점검해야 하는 부분입니다. 일반적으로 속도 부분은 ASP>PHP>JSP 의 순서로 언어별 속도가 차이가 있습니다.

 

특히 JSP의 경우 JAVA언어의 특징을 반영한 캡슐화 기법을 활용하기 때문에 소스코드의 낭비로 인한 속도저하 현상이 나타날 수 있습니다.

 

3. DB정규화 및 최적화

화면상에 DB연결 구문이 많거나, 프로그램적으로 객체 소멸인자를 정상적으로 사용하지 않은 경우 사이트에서 속도저하 현상이 나타날 수 가 있습니다. 이때는 DB사용을 최소화 할수 있는 여러 가지 방안이 필요할 것 입니다. 또한 습관적으로 소스 하단에 객체 소멸인자를 명시하는 방법을 사용할수도 있습니다.

 

뿐만 아니라 DB자체가 최적화 되지 않게 구현이 되어있다면, 많은 DB 조회 및 사용으로 인하여 속도저하 현상이 나타날 수도 있습니다. DB튜닝이라 불리는 단계를 통해서 어느 정도 해결할 수 있으리라 생각이 됩니다. 정규화에 있어서도 속도와 활용을 잘 고려하여 어느 단계의 정규화를 진행할 것 인가에 대해서 고민을 해보셔야 할듯 합니다. 정규화가 정밀해 지게 되면, DB는 효율적으로 사용하게 되지만, 그만큼 join을 해야 하는 테이블이 많아지기 때문에 속도는 느려질 수 있습니다.

 

4. 알고리즘 구성

프로그램을 기반으로 한 사이트에서 알고리즘이 차지하는 비중은 높은 편입니다. 이 알고리즘상에서 흐름이 잘못되어 일부 LOOP현상이 발생하게나, DeadLook현상이 발생하게 되는 경우 심각한 속도저하 현상이 나올수도 있습니다. 이 부분은 사이트 및 프로그램의 특성에 맞는 알고리즘 구성이 필수적입니다.

 

5. 이미지 최적화

최근 디지털 카메라가 고화소를 지원하고, 사진파일 하나의 용량이 20Mbyte를 넘어가는 경우도 있습니다. 이를 웹상에서 최적화 하여 웹용 이미지로 변환하지 않는다면 문제는 심각해집니다. 20Mbyte의 파일이 20개가 나열되어있다면 400Mbyte의 용량이 발생하게 됩니다.

 

1Mbyte라 하더라도 20개의 파일이면 20Mbyte의 트래픽이 발생하게 되겠죠..

 

일반적으로 갤러리에서 사용하는 이미지의 경우 썸네일이 미지라 불릴 정도로 용량이 작고, 사이즈도 작은 이미지를 사용하게 됩니다.. 이런 방법으로 한페이지의 로딩시 평균 용량이 500Kbyte~800kbyte로 조절하시면 문제가 없을 듯 합니다.

 

6. 코딩 기법

포털 및 대형 사이트에 사용되는 코딩방법과, 일반사이트에서 사용되는 코딩방법은 다릅니다. 그만큼 동시에 많은 사용자들이 사용하고, 속도저하 현상이 의심될수록 효율적인 코딩이 필요합니다. 현재 사이트의 코딩방법을 점검해 보고, 이미지의 쓸데없는 사용이나 불필요한 소스 코드의 사용으로 인하여 트레픽 낭비가 없는지 확인해 보셔야 할듯합니다.

 

7. 프로그램 최적화

10줄의 소스코드와 100줄의 소스코드. 어떤게 더 빠를까요?.. 답은 전자일 가능성이 높다 입니다.

 

동일한 결과를 처리하는 소스코드라 하더라도 개발자의 습관, 개발방법론, 소스코드의 최적화, 알고리즘의 최적화, DB구조 등에 따라서 달라지게 됩니다. 이런 부분에서 프로그램에 대한 최적화가 필수입니다.

 

 

8. 서버 및 회선상태

일반적으로 많은 업체들이 속도가 느려진다 판단되면 많이 사용하는 방법이지만, 이 방법은 최악의 경우일 때 선택하는 방법입니다. 서버 및 회선을 조절하여 속도를 향상시킬 경우 근본적인 해결책이 되지 않기 때문에 사용자가 늘어나게 된다면 다시 같은 일이 반복되게 됩니다. 위의 다른 7가지 요인을 우선적으로 점검하여 개선해 보신뒤. 서버 및 회선의 품질과 업그레이드를 고민해 보십시오.. 서버 및 회선비용은 매달 지속적으로 나가는 비용이지만, 개발비용은 1회성이라 생각해 보신다면 어떤 부분에 대한 점검이 우선인지 결정하시는데 도움이 되리라 생각이 됩니다.

 

 

 


[IT컨설턴트의 생각]

웹사이트에 있어서 로딩속도는 생명력입니다일반적인 유저들은 몇 초의 짧은 시간도 지루하게 판단하며속도차이가 나는 사이트의 접근을 꺼려합니다이런 이유에서 많은 수의 유저들을 위한 서비스를 준비 중이시거나 유료회원제로 운영되는 사이트라면 여러 가지 부분에서 진단과 보안이 필수적이라 생각이 됩니다.

 

 

웹개발은 여러 가지 개발방안이 있고개발인력의 노하우에 따라서도 다양한 위험요인에 대한 대응이 가능합니다포털사이트를 제작해본 개발자가 일반 웹사이트를 제작하는 개발자와 다른 이유는 위와 같은 8가지에 대해서 대응해본 경험의 차이가 발생하기 때문입니다확인하는 측면에서 위의 요소를 점검해 보시고시행착오를 줄이기 위해 전문적인 컨설턴트의 컨설팅을 통해서 근본적인 원인에 대한 해결을 해보실 것을 추천드립니다.

 

 

 

 

 

 

반응형웹과 트래픽에따른 서버 개선에대한 부분질문드립니다. - IT감리, IT컨설팅, 웹컨설팅, 웹에이전시, 웹솔루션개발, ERP, SCM, CRM, ToTb, 홈페이지제작, 웹사이트 제작, 온라인 마케팅, 시스템구축, 유지보수, 운영대행 등
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기