2009-04-17 4 views
2

클라이언트 용 웹 서버를 설정 중입니다. 그들은 내가 만들고있는 웹 앱 (PHP/LAMP)을 사용할 것입니다. 서버가 로컬 네트워크에 위치하게됩니다. 또한 동일한 서버에 MySQL 데이터베이스가 있습니다. 서버의 부하는 동시 사용자가 20-25 명에 불과하지만 가동 시간과 성능은 여전히 ​​매우 중요합니다.내 웹 서버의 서버 구성에 대한 제안 사항이 있습니까?

응용 프로그램 자체는 프런트 엔드에서 JQuery를 사용하고 백엔드에서 PHP를 사용하여 콘텐츠를 사용자에게 표시하기 위해 백 엔드 CMS (TBD)를 사용합니다.

그래서 제 질문은 비교적 저렴한 솔루션을 제공하기 위해 CPU, 캐시 및 메모리 (크기/유형)면에서 서버 시스템 요구 사항이 많이 있지만 성능은 여전히 ​​우수합니다.

+0

데이터베이스는 비교적 작을 것입니다. 대략 50 개의 테이블입니다. 이 표에는 평균 수백 ~ 수십 개의 레코드가 포함되며 최대 레코드는 수천 개의 레코드 만 가질 수 있습니다. 검색어도 그렇게 무거워서는 안됩니다. – Bamerza

답변

3

사실을 말하면 하드웨어가 가장 큰 요소는 아니며 코딩입니다. 응용 프로그램을 올 바르고 최적으로 개발하면 1GHz, 512MB RAM 및 5200rpm 하드 드라이브로 실행되는 컴퓨터에서 최소 100 명의 사용자를 동시에 실행할 수 있어야합니다.

VMWare를 사용하여 가상 컴퓨터를 만들고 MySQL 서버와 웹 서버를 분리하는 것이 좋습니다. 또한 재구성 및 재설치없이 시스템을 복제, 마이그레이션 또는 업그레이드 할 수 있습니다.

또한 운영 체제에서 GUI (데비안, 우분투, 페도라 등, X 윈도우가 설치되지 않은)없이 LAMP 설정을 실행하십시오. 이 서버는 서버이므로 예쁜 창을 표시하는 리소스를 낭비하지 않아야합니다.

마지막으로 Trent는 RAID 구성이 좋은 생각이지만 RAID는 백업 솔루션이 아니라고 말했습니다. 동일한 하드 드라이브 중 두 개가 있으면 하나가 고장 나면 다른 드라이브가 곧 고장 나게됩니다. 항상 백업 솔루션 (NAS, 테이프, DVD, 플로피 디스크 등)을 보유하십시오.

1

2 개의 전원 공급 장치 2 개의 하드 드라이브 (RAID 1) 이상을 RAID 5로 추가하십시오. 가동 시간이 얼마나 중요한지에 따라 서버 전체를 장애 조치하고 싶을 수도 있습니다. 성능에 관해서는 충분한 정보를 제공하지 못했습니다 ... 얼마나 많은 데이터가 데이터베이스에 얼마나 많은지 쿼리합니다.

1

서버에서 실행될 응용 프로그램에 대한 세부 정보가 없으면 특정 권장 사항 (예 : XGB RAM, Z 캐시가있는 Y 프로세서)은 의미가 없습니다. 즉, 특히 데이터베이스 기반 응용 프로그램의 경우 RAM을 신경 쓰지 않는 것이 좋습니다. 하드 드라이브를 치지 않고도 RAM에 저장할 수있는 데이터가 많을수록 성능이 향상됩니다. 개발자라면 풍부한 하드웨어 리소스가 적절한 인덱스와 코드 최적화를 대체 할 수 없다는 사실을 잊지 마십시오!

다른 권장 사항 중 일부를 여기에 표시하고 싶습니다. - 드라이브를 RAID 화하고 (데이터베이스 서버의 경우 과거에 RAID 10을 선호했습니다), 오프라인 백업 (테이프, DVD-R, USB 드라이브, (홍수, 화재 또는 기타 물리적 인 재해가 발생할 경우) 백업을 오프 사이트에 보관해야합니다. 백업에서 정기적으로 테스트하는 것을 잊지 마십시오. 너무 늦었을 때 백업이 작동하지 않는다는 것을 발견하는 것보다 더 나쁜 느낌은 없습니다.

+0

Thx ...이 단락을 추가했습니다. 응용 프로그램 자체는 프런트 엔드에서 JQuery를 사용하고 백엔드에서 PHP를 사용하여 사용자에게 내용을 표시하기 위해 백 엔드 CMS (TBD)를 사용합니다. – Bamerza

관련 문제