>  기사  >  시스템 튜토리얼  >  Linux 프로젝트: 프로젝트에 새 생명을 불어넣다

Linux 프로젝트: 프로젝트에 새 생명을 불어넣다

王林
王林앞으로
2024-01-03 15:54:14513검색
소개 프로젝트 초기에 공개적인 실패가 발생한 후, 유명 대학의 IT 팀은 웹 등록 시스템을 Linux에 배포하기로 결정했습니다. 이는 서버의 최대 사용자 방문 횟수를 거의 3배로 늘린 조치입니다.
원인

1998년에 저는 미네소타 대학의 새로운 웹 팀에서 서버 관리 그룹을 관리하면서 일하고 있었습니다. 미네소타 대학교는 각 기관에 약 6,000명의 학부생이 재학 중인 매우 큰 대학교입니다. 당시 학교는 학생 기록 관리 시스템으로 오래된 메인프레임 시스템을 사용하고 있었기 때문에 변경이 필요했습니다.

이 시스템은 Y2K 유형이 아니므로(LCTT 번역: 연도를 저장할 때 두 자리 숫자만 사용하면 컴퓨터가 2000년을 1900년으로 기록하게 됩니다. 자세한 내용은 Y2K 호환이란 무엇을 의미하나요? 참조) PeopleSoft Software 회사에서 새로운 학생 기록 관리 시스템을 제공합니다. 이 새로운 시스템은 학생 기록을 관리할 뿐만 아니라 다른 기능도 제공하는 등 미네소타 대학에 많은 역할을 합니다. 그러나 한 가지 핵심 기능이 빠져 있습니다. 즉, 브라우저에서 웹을 통해 수업을 등록할 수 없습니다.

오늘날 기준으로 보면 이는 큰 실수지만, 1990년대에는 인터넷이 아직 초기 단계였습니다. Amazon은 이제 막 설립되었고, eBay는 이제 막 사업을 시작한 지 1년밖에 되지 않았으며, Google은 이제 막 태어났고, Wikipedia는 아직 등장하지 않았습니다. 따라서 1998년 PeopleSoft가 웹상에서 온라인 강좌 등록 기능을 지원하지 않은 것은 놀라운 일이 아닙니다. 그러나 미네소타 대학교는 Gopher 네트워크의 발상지이고 이전 메인프레임 시스템을 위한 일련의 웹 기능 인터페이스를 개발했기 때문에 웹 온라인 등록 기능이 이 새로운 학생 기록 관리 시스템에 매우 중요하다고 생각합니다.

이 웹팀의 임무는 이 관리 시스템의 웹 온라인 등록 기능을 구현하는 것입니다.

다행히 우리는 혼자가 아닙니다. 우리는 IBM에 연락하여 2년차에 새로운 웹 온라인 등록 시스템을 구축하기 위해 협력하기 시작했습니다. IBM은 웹 시스템을 실행하기 위한 하드웨어 및 소프트웨어 환경을 제공할 책임이 있습니다. 최신 AIX 시스템(UNIX 계열 운영 체제), IBM Java 및 IBM WebSphere 플랫폼을 실행하는 3개의 SP 컴퓨터 노드, 그리고 IBM 로드 밸런서를 사용하여 3을 구현합니다. 노드 로드 공유.
Linux 프로젝트: 프로젝트에 새 생명을 불어넣다

1년이 넘는 개발과 테스트 끝에 우리 시스템이 마침내 온라인 상태가 되었습니다! 그러나 불행하게도 실패가 따랐다.

로드가 너무 큽니다

개발 과정에서 많은 학생이 동시에 로그인하는 실제 시나리오를 정확하게 시뮬레이션하고 테스트할 수 없었습니다. 그 이유는 테스트 환경이 없기 때문이 아닙니다. 미네소타 대학에는 맞춤형 웹 로드 테스트 소프트웨어 패키지가 있고, IBM은 이를 보완할 수 있는 자체 도구가 있습니다. 하지만 이 웹 시스템은 당시 우리에게 너무 낯설었습니다. 이러한 테스트 도구가 요구 사항을 충족할 수 없다는 사실을 깨닫지 못했습니다.

몇 달 간의 테스트 끝에 우리는 이 웹 시스템의 예상 부하를 동시 사용자 240명으로 조정했습니다. 하지만 안타깝게도 실제 사용량은 예상보다 두 배 정도 많았습니다. 시스템이 온라인으로 전환된 첫날 400명이 넘는 학생들이 동시에 시스템에 로그인했습니다. 로드가 예상값을 훨씬 초과했기 때문입니다. 기계가 직접 내려갔습니다. 지속적인 높은 부하로 인해 서버가 계속 충돌하고 계속해서 다시 시작해야 했습니다. 한 컴퓨터가 다시 시작된 직후 다른 컴퓨터가 충돌하고 다시 시작되는 상황이 실제로 한 달 동안 지속되었습니다.

웹을 통한 등록은 효율적으로 할 수 없기 때문에 학생들은 원래의 방법으로만 등록할 수 있습니다: 등록 사무실에 와서 펜으로 등록한 후 나가십시오. 지역 신문도 "컴퓨터 소프트웨어의 실패로 인해 학생들이 대면 등록을 강요당하고 있다!"라고 칭찬하고 조롱했습니다.
Linux 프로젝트: 프로젝트에 새 생명을 불어넣다

실패 사실에 직면하여 우리는 다음 개발 주기에서 소프트웨어 성능을 개선하기 위해 최선을 다했으며, 다음 6개월 동안 이 시스템의 로드 용량을 향상시키기 위해 필사적으로 노력했습니다. 더 많은 코드를 추가하고 여러 구성을 조정했음에도 불구하고 여전히 더 많은 사용자를 지원할 수 없었습니다. 최선을 다했지만 여전히 실패에 직면했습니다.

예상대로 다음 반복 주기 이후에도 여전히 실패에 직면했습니다. 로드 문제로 인해 서버가 몇 번이고 다운되었습니다. 이번에는 헤드라인이 "웹 등록 시스템이 쓰레기다"로 바뀌었습니다.

다음 6개월의 반복을 시작하기 전에 우리는 절박했습니다. 서버가 계속 다운되는 이유는 아무도 모르고, 현재로서는 이 문제가 해결 불가능할 것으로 이미 예상하고 있습니다. 이 문제를 해결하려면 몇 가지 조치를 취해야 합니다. 그런데 어떻게 해야 할까요? 우리가 논의한 방법은 다음과 같습니다.

새로운 플랫폼으로 전환해야 하나요?

IBM은 당시 Linux를 도입했으며 Java 및 WebSphere 플랫폼에 대한 2차 개발을 수행했습니다. 모든 제품은 Red Hat의 RHEL 인증을 받았으며 일부 제품은 이미 Red Hat 데스크탑 시스템에서 실행되고 있습니다. 우리는 이제 웹 관리 시스템을 실행하기 위한 완전한 생태계가 Linux에 있다는 것을 알고 있습니다. 그런데 이것이 AIX보다 성능이 더 좋습니까?

테스트 서버를 설정하고 기본 로드 테스트를 수행한 후, 우리는 Linux 서버가 동일한 웹 코드, IBM Java 및 WebSphere 플랫폼을 사용하여 이전 세 개의 AIX 서버가 지원할 수 없었던 로드를 쉽게 지원할 수 있다는 사실에 놀랐습니다. 단일 Linux 서버는 200명 이상의 사용자를 지원할 수 있습니다.

우리는 등록기관과 CIO에게 이 소식을 알렸고 그들은 웹 등록 시스템을 Linux 플랫폼으로 전환하기로 동의했습니다. 미네소타 대학에서 처음으로 Linux를 실행했지만 실패는 습관이 되었고 우리는 더 이상 두렵지 않습니다. AIX는 실패할 것이고, Linux는 우리의 유일한 희망입니다.

즉시 Linux 기반으로 개발해드리겠습니다. 다른 그룹의 동료들도 우리가 사용할 수 있도록 여러 대의 Intel 서버를 제공했습니다. 우리는 서버에 Red Hat 시스템과 관련 IBM 구성 요소를 설치한 후 새 시스템에 대해 지속적인 로드 테스트를 수행했습니다. 다행히 Linux 서버에는 문제가 없습니다. .

2개월 간의 집중적인 개발과 테스트 끝에 우리의 새로운 시스템이 마침내 온라인에 등장했고, 이는 큰 성공을 거두었습니다! 엄청난 부하가 걸려도 웹 등록 시스템은 Linux에서 완벽하게 작동합니다. 동시접속 최대 접속자 수도 600명을 넘어섰다. 미네소타대학교 웹등록시스템을 리눅스가 살렸습니다~

성공적인 경험

이 프로젝트를 되돌아보면 다음 사항을 사용하여 팀에 Linux를 소개할 수 있다는 것을 알 수 있습니다.

1. 문제를 해결하세요. 자신과 남을 속이지 마세요

우리가 기업에서 Linux 사용을 제안한 것은 Linux가 멋지다고 생각해서가 아니었습니다. 물론, 우리는 Linux 매니아이고 자체 환경에서 이를 실행했지만 문제를 해결하기 위해 회사에 있습니다. 우리가 Linux를 사용할 수 있는 이유는 Linux가 멋지고 우리가 Linux를 사용하고 싶어서가 아니라 등록 기관과 자금 제공자가 Linux가 문제에 대한 해결책이라는 데 동의하기 때문입니다.

2. 가능한 한 작게 변경하세요

우리의 성공은 IBM이 이미 Linux를 기반으로 Java 및 WebSphere 제품을 만들었다는 사실에 기반합니다. 이를 통해 너무 많은 수정이나 적용 없이 웹 시스템을 AIX에서 Linux로 전환할 수 있습니다. 두 가지에 비해 하드웨어와 운영 체제만 변경되었으며 다른 시스템 관련 구성 요소는 일관성을 유지했습니다. 이는 플랫폼 전환의 성공을 보장하는 초석입니다.
Linux 프로젝트: 프로젝트에 새 생명을 불어넣다
Linux 프로젝트: 프로젝트에 새 생명을 불어넣다

3. 위험과 보상에 정직하세요

우리의 문제는 분명합니다. 웹 등록 시스템이 처음 두 번의 반복에서 실패했으며 다시 실패할 가능성이 높습니다. 후원자들에게 우리의 아이디어(AIX에서 Linux로 전환)에 대해 이야기했을 때 우리는 관련된 위험과 보상을 충분히 알고 있었습니다. 아무것도 하지 않으면 실패만 할 뿐입니다. Linux 플랫폼으로 전환하려고 하면 성공할 수도 있으며 초기 테스트 결과로 판단하면 실패보다 성공 확률이 더 높습니다.

그리고 Linux 플랫폼에서 프로젝트가 여전히 실패하더라도 AIX 서버로 신속하게 다시 전환할 수 있습니다. 이러한 신중한 분석과 조치를 통해 등록 기관은 마침내 우리가 Linux를 사용해 보는 것을 편안하게 느낄 수 있었습니다.

4. 간결하고 간결하게 소통하세요

프로젝트 플랫폼을 전환하는 과정에서 전반적인 계획을 세웠습니다. 우리는 빈 종이에 우리가 계획한 일과 그 이유를 정확히 적었습니다. 이 접근 방식의 성공 열쇠는 계획의 단순성입니다. 리더는 소설과 같은 기술적인 아이디어를 읽는 것을 좋아하지 않습니다. 기술적인 세부 사항에 얽매이는 것을 원하지 않습니다. 그래서 우리는 의도적으로 실행 수준에서 계획을 세우고 프레임워크 수준에서 설명합니다.

플랫폼을 전환할 때 정기적으로 투자자에게 현재 진행 상황을 알려드리겠습니다. 새 시스템이 성공적으로 완료되면 시스템을 통해 성공적으로 등록한 학생 수와 발생한 문제에 대한 보고서를 매일 업데이트하여 제출할 것입니다.

이 프로젝트 이후 거의 20년이 지났지만, 배운 교훈은 오늘날에도 여전히 유효합니다. Linux가 여기서 중요한 역할을 하지만 가장 중요한 것은 공통 문제를 해결하기 위해 모든 사람의 목표를 성공적으로 전달했다는 것입니다. 이 경험은 당신이 직면하는 많은 일들에 적용될 수 있다고 생각합니다.


위 내용은 Linux 프로젝트: 프로젝트에 새 생명을 불어넣다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 linuxprobe.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제