2010-05-27 2 views
0

긴 시작 응용 프로그램의 시작 시간을 줄이기 위해 요청되지만, 시간당 최대 관리자에게 의무가 있습니다. 10-20 초 정도의 시작을 줄일 수 있습니다.짧은 시작 시간대에 긴 시작 응용 프로그램을 조정하라는 메시지가 표시됩니다.

필자가 회사에서 새로 왔기 때문에 필자는 월간 (큰 서버와 새로운 서버이며 게으른로드 + 성능 튜닝을 계획하고 있습니다)의 일정을 반드시 지킬 수 있다고 말했습니다.

그 대답은 받아 들여지지 않았습니다. 중요한 데이터를 다른 서버에 보관하려면 일종의 캐시를 수행해야하고 서버가 시작되면 캐시의 모든 데이터에 도달하게됩니다. 해결 방법과 나는 그것을 정말로 좋아하지 않는다. 마음에 드십니까?

내가 어떻게해야한다고 생각합니까?

추신 : 응용 프로그램을 제작할 때 시작과 끝을 길게 만드는 많은 작은 문제 (2 분)를 모두 수정하여 지연로드를 만드는 간단한 프로세스가 아니 었습니다.

어떤 종류의 제안이 도움이 될 것입니다.

언어는 Java입니다.

감사합니다.

+2

일부 서식을 지정하십시오. – clyfe

+0

Hehe, 1995 년 평판에 clyfe - 5 더 및 당신은 적절한 형식을 가지고 질문을 편집 할 수 있습니다. 좋은 소식을 찾아서 +1 해주세요. – Konerak

+0

평상시와 마찬가지로 대부분의 시간을 소비하는 문제를 발견하고 수정하는 것이 가장 쉽습니다. 속도가 빠르며 성능이 크게 향상 될 것입니다. – sharptooth

답변

5

성능 최적화 규칙 1을 측정하십시오. 어려운 인물. 최적화의 각 단계에서 성능 향상/손실/변경 부족을 측정합니다. 귀하 (및 귀하의 관리자)는 귀하가 시도하고 측정하기 전에 특정 최적화가 작동하거나 작동하지 않을 것이라고 말할 수있는 위치에 있지 않습니다. 솔루션을 구현하기 전에 언제든지 & 테스트를 요청할 수 있습니다.

성능 최적화 규칙 2 번 (또는 실제로는 무엇이든) : 전투를 선택하십시오. 관리자는 문제가되는 시스템에 대해 많은 경험을 갖고 있으며 올바른 해결책을 이미 알고있을 수 있습니다. 거기에는 다른 일 (정치)도 포함될 수 있으므로이 시점에서 머리를 숙임으로써 위험에 처하지 마십시오.

+0

감사합니다. 하지만 나는 똑같은 입장에 서있다. 나는 옵션 1을 선택하는 것이 좋을 것이라고 생각한다. 관리자는 옵션 2를 선호한다. 옵션을 미리 사용하지 않아도된다. 왜냐하면 내가 얼마나 향상시킬 수 있을지 확실히 말할 수 없기 때문이다. 성능 ... 더 많은 정보를 들으면 기쁜 마음으로 포인트를 지워 주셔서 감사합니다 ... – Jas

0

나는 MatthieuF에 동의합니다. 가장 중요한 일은 그것을 측정하는 것입니다. 그런 다음 측정 값을 분석하여 가장 비용이 많이 드는 부분과 병목이되는 리소스 (메모리, CPU, 네트워크 등)를 확인해야합니다.

이러한 답변을 알고 있다면 해결책을 제안 할 수 있습니다. 솔루션에 대한 작은 테스트 (개념 증명)를 작성하여 관리자에게 일찍보고 할 수 있습니다.

예를 들어 더 많은 하드웨어를 구입하는 것이 최선의 방법 일 수있는 모든 종류의 솔루션이있을 수 있습니다. 더 많은 하드웨어를 구입하면 아무런 결과가 없으며 수정해야 할 수도 있습니다. 수정 사항은 소프트웨어, 데이터베이스 또는 기타 소프트웨어를 최적화 할 수 있습니다. 더 나은 알고리즘을 선택하거나 캐싱을 도입 (메모리 사용량을 줄이거 나)하거나 멀티 스레딩을 도입하여 여러 CPU 코어를 활용할 수 있습니다. 운영 체제, Java 가상 시스템, 응용 프로그램 서버, 데이터베이스 서버 및 기타 구성/버전과 같은 응용 프로그램의 "주변"을 수정할 수도 있습니다. 이러한 모든 구성 요소에는 성능에 영향을 줄 수있는 설정이 있습니다.

다시 말하면, 문제를 파악하고, 문제를 파악하고, 솔루션을 생각하고 (어쩌면 개념 증명으로) 솔루션을 구축하고 솔루션이 작동하는지 측정하는 것이 매우 중요합니다. 문제를 모른 채 처음으로 해결책을 선택하는 함정에 빠지지 마십시오.

0

당신이 비교적 연소 한 위치에 들어온 것처럼 당신의 매니저는 당신의 능력과 판단을 (아직) 신뢰하지 않습니다.

내가 달성 할 수 있는지 알지 못하고 특별한 속도 향상을 원한다면 왜 이해가 가지 않습니다.

  • 어쩌면 그들은 코드와 그 문제점을 정말로 이해하고 있으며, 어느 정도의 속도 향상은 가능할 수도 있습니다. 이 경우, 그들은 그것을하는 좋은 아이디어가 있어야한다. 그래서 그들에게 당신에게 이야기하도록 힘써라. 그들의 아이디어가 크지 않더라도, 적어도 그들에게 시험을 제공하는 것에 대한 공로를 인정 받게 될 것입니다.

  • 어쩌면 그들은 더 열심히 일하기 위해 압력을가하거나 (압력을 가해도됩니다) 어쩌면 시도하고있을 것입니다. 이 경우에는 가치있는 반면 보수적 인 추정치를 제공 할 것입니다. 그런 다음은 문제를보다 철저하게 조사하는 데 시간을 할애합니다. 며칠간 조사한 결과 "팔목에서 벗어난"추정치가 현저히 떨어진다면 더 정확한 추정치를 가진 관리자에게 돌아가십시오.

기술적 측면에서 2 분의 시작 시간은 다소 지나치게 들립니다. 그 시간에 응용 프로그램은 무엇을하고 있습니까? 파일이나 데이터베이스에서 데이터 구조로드? 다시 계산 하시겠습니까? 프로파일 링은 이러한 질문에 답하는 데 도움이 될 수 있지만 프로파일 통계를 이해하기 위해서는 시스템의 아키텍처를 이해해야합니다.

실제 문제가 무엇인지 알지 못하는 사이에 백그라운드에서 덜 중요한 초기화 중 일부를 수행하는 동안 서비스를 일찍 사용 가능하게 만들 것을 제안합니다. (그리고이 중요한 데이터를 캐싱하는 관리자의 아이디어는이 관점에서 볼 때 좋은 것으로 판명 될 수도 있습니다.) 또는 시스템에 대한 "대기 대기"를 구현하는 것이 가능했는지 또는 복제 할 수 있는지 그런 방법으로 시작 시간을 줄일 수있었습니다.

+0

파일 또는 데이터베이스에서 데이터 구조를로드 중입니까? 주로 데이터를로드하고 데이터를 기반으로 항목을 초기화합니다. 프로파일 링은 수 많은 작업을 보여줍니다 (몇 가지 작업에 대해 수십 가지 작업을 수행 할 필요가 없습니다. 대상 시간에 맞춰야 만합니다) 반복적으로 반복되는 반복을하지 않아도되고 고령자가 나에게 말했습니다. 그 일을 복잡하게하는 것은 매우 어려울 것입니다. – Jas

관련 문제