2016-07-01 5 views
0

웹 사이트 호스팅에 Amazon 인스턴스를 사용하고 있습니다. 내 Amazon은 인스턴스 유형으로 c4.4xlarge를 설치했습니다. 내가 우분투 (우분투 서버가 아닌)를 운영체제로 사용하고있는 곳. 또한 데이터베이스에 RDS를 사용하므로 시스템에있는 유일한로드는 Apache입니다.서버 응답 문제

내 서버로드가 최대 50 %로 이동하고 데이터베이스 연결이 500-600으로 이동합니다. 이때 서버 응답 시간이 너무 느려집니다. 현재 시간에 나는 2 %의 서버로드 및 db 연결 약 8-10 및 아약스 호출 1.2 초 걸릴 데이터를 검색하는 동일한 아약스 전화 걸릴 약 8-15 초 걸릴 때 최대 서버 사용량.

웹 사이트를 빨리 만들고 싶습니다. 웹 사이트에서 나는 5 개의 iframe을 가지고 있으므로, 500 명의 활성 사용자가있을 때 해당 웹 페이지의 패널 안에 5 개의 웹 사이트가 추가로 있습니다. iframe의 모든 웹 사이트는 1-5 초 후에도 자체 서버에 요청을 보냅니다. . 그 당시 퍼포먼스는 좋지 않았고 때로는 파이어 폭스가 멈췄다.

메모리 위치와 db 연결을 변경하여 아파치 설정 파일에서 몇 가지 변경을했는데 그게 도움이되지 못했습니다. 웹 사이트의 성능을 부각시킬 수있는 다른 방법이 있습니까?

enter image description here 감사

답변

0

나는 당신의 서버에 대한 세부 사항에 대한 것을 잘 모르겠지만, 나는 당신이 당신의 데이터베이스에 500-600 연결이 이상한 것 같아요. 그냥 물어보십시오 : 당신은 클라이언트에서 직접 데이터베이스에 연결하고 있습니까 ??? 아니면 서버 측 코드를 확인하고 연결 풀을 많이 만들지 않도록하십시오. 서버 db 드라이버는 연결 풀을 하나만 가지고 연결을 다시 사용해야합니다.

또 다른 것은 데이터베이스의 크기를 확인하고 필요한 모든 색인을 만들 었는지 확인하는 것입니다. 해당 테이블의 인덱스를 수정하지 않는 쿼리가있는 경우 데이터베이스는 모든 데이터를 검색하여 응답 속도가 느려집니다.

+0

우리는 Codeignitor 프레임 워크와 wordpress로 만든 웹 사이트를 사용하여 만든 소프트웨어가 두 가지 있습니다. 그 외에도 사용자가 데이터베이스에 액세스 할 수있는 방법은 없습니다. database libraray가 codeignitor의 자동로드 라이브러리에 추가 된 곳. 데이터베이스 크기는 거의 4MB입니다. 그러나 RDS 서버가 50 % 이하의 사용량을 사용하는 경우 DB 연결이 많을 때만 서버 응답 속도가 느려집니다 – Uahmed

+0

4MB 데이터 집합이 성능이 좋지 않겠지 만 잘 모르겠지만 1 초가되지는 않을 것입니다. 2 초. 난 당신이 서버 측에 Codeignitor에 의해 데이터베이스에 연결하는 것, 그래서 당신은 왜 그 많은 연결을 가지고 있는지 PHP 프로파일 링해야 할 수도 있습니다 생각합니다. 그건 정상이 아니야. jmete 또는 다른 테스트 도구를 사용하여 서버에 로컬로 스트레스를 가한 다음 프로파일 러에서 왜 많은 db 연결이 있는지 확인하십시오. 비록 그것이 codieignitor의 자동로드 라이브러리 일지라도, 나는 당신이 그것으로 어떤 실수를 저지를 가능성이 여전히 있다고 생각합니다. 그것을 깊이 들여다 봐라. –

+0

DB 연결의 스크린 샷을 추가했습니다. 페이지의 5 iframe 및 아파치 서버에로드로 인해 성능이 저하 될 수 있습니다. 500-600 DB 연결은 사용자 수를 나타낼 수 있으며 모든 사용자가 동일한 페이지에서 5 개의 다른 웹 사이트 iframe을 액세스하고 매 5 초마다 웹 사이트에서 요청을 보내면 성능에 영향을 줄 수 있습니다. 나는 코드를 다시 볼 수는 있지만 Wordpress와 Codeignitor를 제외한 다른 연결 방법은 없다는 것을 알 수있다. – Uahmed