1. Cache Control 이용 - FileETag 등을 이용.

2. CSS Sprite 활용

3. js, stylesheet 를 합치기

  js의 위치에 따라서 튜닝요소가 많긴 합니다.

꼭 javascript를 html이나 jsp에서 쓰려면, body 맨끝에 작성하기

4. 이미지 캐쉬 서버는 하나로 통일 (dns 서버 최대한 안찾게, browser의 요청 connection에 따라서 이슈가 될 수 있음.)
<-> 반면,  멀티 도메인을 이용하는 경우가 있음. 

5. deflate 활용  (gzip 다운로드)
mod_deflate 활용

6. mpm 설정 튜닝 - prefork.  등등
현재 웹에서는 개인적으로 prefork 방식이 제일 괜찮은 것 같음

7. WAS App 튜닝..( 당근)




Posted by '김용환'
,


최근에 ACM Sigcomm 에서 발표된 구글 논문이 있었다..

ACM siggcomm comput communication review의 An Argument for Increasing TCP’s Initial Congestion Window 내용입니다.  
 참조 : http://ccr.sigcomm.org/drupal/files/p27-2v40n3g-dukkipatiA.pdf

window size 를 길게 해서 얼마나 response time이 줄어들었나 확인해봤더니.. window 값이 15가 되면, 가장 좋은 상태를 보였다고 한다.
(디폴트는 4K 이기 때문에 TCP 레벨에서의 통신량이 많아진다. 이를 줄이기 위해서는 첫 window 를 크게 잡아야 합니다.따라서, initcwnd 값이 영향을 준다...)

window size는 가변적이고, ack를 받을 때마다 하나의 window size를 늘리고, round trip마다 window size를 2배씩 늘리게 된다.  그렇게 2^n으로 늘어나서 tcp 연결을 하다 loss가 발생되는 시점에서는 window size를 늘리지 않도록 한다.

초반에 디폴트값 3은 TCP의 slow start라고 할 수 있다. 처음부터 탐색을 조금씩 하지 말고, 팍 많이 해보자는 것이다.  대신 loss가 빨리 날 수 밖에 없는 데 그것을 selective ack를 이용해서 처리하려고 했던 것이다.

잘 모르시는 분들을 위해서 참고자료 링크함
http://webcom.ansan.ac.kr/board/bbsupfiles/session%203%20-%202%20%20TCP-IP.pdf
http://www.east.re.kr/?module=file&act=procFileDownload&file_srl=24003&sid=a846b9b75bb5184739d9f88918212293

 


Posted by '김용환'
,
Posted by '김용환'
,


1. mod_jk Tomcat connector 설명 주소
http://tomcat.apache.org/connectors-doc/reference/workers.html

2. 아리까리 할때는 아래 문서 보기
http://tong.nate.com/hodorii/30502805

  • AP서버에 치명적인 장해를 발생시키는 어플리케이션 처리를 했을 경우, 클러스터를 구성하는 모든 노드가 차례차례에 장해 정지하는 것을 확인했다.
  • 클러스터를 구성하는 모든 노드가 차례차례에 장해 정지한 원인은, 로드 바란스의 Apache HTTP Server(mod_jk)가, 어느A 노드가 치명적인 에러에 의해서 장해 정지한 후, 다른 노드로 전환해 같은 처리를 실시하게 한(리커버리 처리) 유익이다.
  • 1개의 노드의 장해 정지를 받은 리커버리 처리에 의한, 클러스터 전체의 장해 정지를 회피하려면 Apache HTTP Server(mod_jk)의 워카 속성recovery_options에 적절한 값을 설정한다.워카 속성 recovery_options에 적절한 값을 설정하는 것으로, 1개의 노드가 어플리케이션 처리중의 치명적 장해에 의해 장해 정지했을 경우에서도 다른 노드에 처리를 바꾸지 않고, 클라이언트에 에러 리스폰스를 돌려줄 수 있다.
  • 워카 속성 recovery_options에 3(mod_jk에 의한 리커버리 처리를 실시하지 않는다)을 설정해 추가시험했는데, 전노드의 연쇄적인 장해 정지는 일어나지 않고, 클라이언트에는 에러 리스폰스(Bad Gateway, HTTP 스테이터스 502)가 돌아갔다.그 후, 다른 노드가 세션 정보를 계승해 처리가 계속되는 것을 확인했다.
  • 이번은 어플리케이션 처리중의 장해였기 때문에, recovery_options에 1(Tomcat가 리퀘스트 수신 후에 장해 정지해도 mod_jk에 의한 리커버리 처리를 실시하지 않는다)을 설정해 추가시험해도, recovery_options가 3 때와 같은 결과를 얻을 수 있었다.

  • 3. 그림 설명 보기
    NTT Data쪽 문서 (reference는 모름..)

    'Web service' 카테고리의 다른 글

    웹의 성능을 높여보기.  (0) 2010.08.18
    Comet 을 소개한 글  (0) 2010.08.13
    Tomcat 7 Unit Test에 쓰는 mocking framework  (0) 2010.08.05
    Tomcat 7 빌드(build) 하기  (0) 2010.08.05
    CSRF 공격 막기  (0) 2010.08.05
    Posted by '김용환'
    ,


    Easymock 임 (tag lib상에서.)

    JMock, Mockito 안씀..

    'Web service' 카테고리의 다른 글

    Comet 을 소개한 글  (0) 2010.08.13
    [Apache] mod_jk 설명중 timeout 설명이 잘되어 있음  (0) 2010.08.11
    Tomcat 7 빌드(build) 하기  (0) 2010.08.05
    CSRF 공격 막기  (0) 2010.08.05
    Tomcat 7 mark tomcat와의 인터뷰  (0) 2010.08.05
    Posted by '김용환'
    ,

    'Web service' 카테고리의 다른 글

    [Apache] mod_jk 설명중 timeout 설명이 잘되어 있음  (0) 2010.08.11
    Tomcat 7 Unit Test에 쓰는 mocking framework  (0) 2010.08.05
    CSRF 공격 막기  (0) 2010.08.05
    Tomcat 7 mark tomcat와의 인터뷰  (0) 2010.08.05
    mod_proxy 이용  (0) 2010.07.30
    Posted by '김용환'
    ,

    CSRF 공격 막기

    Web service 2010. 8. 5. 12:38

    <배경>

    A 포털에 로그인된 상태에서 B 블로그에 A 포털 로그인의 쿠키를 지우도록 하는 img 태그안에 src 안에 web call되게 합니다. 테스트해니. 됨..

     이런식으로 취약점을 발견하고, CSRF 적용된(?) 사례가 옥션 해킹, 네이버 카페 지기 강퇴 등이 있었음..


    공격자가 특정 사이트의 게시물에 아래와 같이 img 태그를 이용해서
    동일 사이트의 아래와 같이 예금을 인출 하는 악성 코드를 심어 넣는다.
    피해자는 동일 사이트에 로그인 된 상태로 악성 코드가 심겨져 있는 게시물을 보는 순간 예금 인출 URL을 GET으로 동일 사이트에 보내게 된다.
    서버에서는 공격에 의한 요청인지 정상적인 요청인지를 구분할 수 있는 방법이 없기 때문에 공격을 당하게 된다.


    <방지대책>

    1. 우선 img src안에 jpg, gif, png와 같이 명시적인 이미지 파일만 온다고 확신되면, 확장자를 통한 white list 추가하여 막으면 됨
    만약.. 실시간이나 다양한 형태로 img src를 쓴다면..
    2. get 방식으로 들어 오는 것을 막는다. (post일때는 뚫릴 수 있음)
    3. 이와 함께 Referer white list 검사할 수 있도록 하여 막는다. 
    4. 필요하면, script, iframe, link 등의 태그를 무조건 막는다.


    현재 톰캣 7에서는 CSRF 공격을 막을 수 있는 필터를 제공하고 있음
    http://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/filters/CsrfPreventionFilter.html

    'Web service' 카테고리의 다른 글

    Tomcat 7 Unit Test에 쓰는 mocking framework  (0) 2010.08.05
    Tomcat 7 빌드(build) 하기  (0) 2010.08.05
    Tomcat 7 mark tomcat와의 인터뷰  (0) 2010.08.05
    mod_proxy 이용  (0) 2010.07.30
    High Performance Web 관련  (0) 2010.07.30
    Posted by '김용환'
    ,


    http://www.tomcatexpert.com/blog/2010/08/02/interview-mark-thomas-tomcat-7-committer-release-manager

    8월 2일 tomcat 7 리더인 Mark Tomcat 인터뷰내용이다.

    중요 포인트느...
    1. 2011년 1/4분기때 안정화될 듯.
    2. tomcat 7의 특징 : Servlet 3.0, 메모리릭 방지 in perm gen, security 높임
    3. 앞으로 할일 : 뜯어 고침으로 인한 미안정성, Servlet 3.0 잘구현,

    'Web service' 카테고리의 다른 글

    Tomcat 7 빌드(build) 하기  (0) 2010.08.05
    CSRF 공격 막기  (0) 2010.08.05
    mod_proxy 이용  (0) 2010.07.30
    High Performance Web 관련  (0) 2010.07.30
    Tomcat Clear peference 사용시 날 수 있는 부작용 (side effect)  (0) 2010.07.30
    Posted by '김용환'
    ,

    mod_proxy 이용

    Web service 2010. 7. 30. 13:54

    mod_proxy를 이용하여  foward를 구현할 때.
    간단히 ProxyPassReverse만 쓰면, foward된 주소가 보일 수 있다. 그것을 깜끔히 포트정보를 안보이게 하려면 다음과 같이 하면 된다.

        ProxyRequests Off
     
        ProxyPass /nexus http://repo.google..com:8080/nexus
        ProxyPassReverse /nexus http://repo.google.com:8080/nexus


    Posted by '김용환'
    ,

    'Web service' 카테고리의 다른 글

    Tomcat 7 mark tomcat와의 인터뷰  (0) 2010.08.05
    mod_proxy 이용  (0) 2010.07.30
    Tomcat Clear peference 사용시 날 수 있는 부작용 (side effect)  (0) 2010.07.30
    웹 서버 튜닝 좋은 사례  (0) 2010.07.22
    Nexus 설치하기  (0) 2010.07.21
    Posted by '김용환'
    ,