>  기사  >  운영 및 유지보수  >  요약: 20가지 Linux 서버 성능 조정 팁

요약: 20가지 Linux 서버 성능 조정 팁

Linux中文社区
Linux中文社区앞으로
2023-08-03 15:22:36901검색

요약: 20가지 Linux 서버 성능 조정 팁

Linux는 다양한 하드웨어 플랫폼을 지원하는 오픈 소스 운영 체제로 Linux 서버는 전 세계적으로 잘 알려져 있습니다. 서버 기본적으로 GUI(Graphical User Interface)는 일반적으로 제공되지 않지만 명령줄 인터페이스는 비대화형 프로세스를 효율적으로 처리하는 데 중점을 두고 있습니다. 반대로 높은 처리 능력은 중요하지 않습니다. 오랜 시간 동안의 부하가 가장 중요합니다.


Linux 고가용성 서버 클러스터 솔루션을 사용하면 IT 시스템 관리자가 여러 일반적인 하드웨어 및 소프트웨어 오류를 침착하게 처리할 수 있고 여러 컴퓨터가 함께 작동할 수 있으며 시스템 관리자가 할 수 있는 주요 서비스의 정상적인 작동을 보장할 수 있습니다. 유지 관리 및 업그레이드를 수행하기 위해 서비스를 중단합니다.

Linux 서버는 웹 서버 또는 지점 내부 서버, CMS 또는 CRS 서버, 파일 서버(Windows 및/또는 Linux 사용자 서비스), VoIP 전화 서버, 메일 또는 도메인 이름 서버, 데이터베이스 서버, 클라우드 컴퓨팅 등 다양한 용도로 사용됩니다. 인프라 노드 등이 구성 중입니다.

Linux는 기능이 풍부하고 강력하며 유연합니다. 이 기사에서는 Linux 서버의 성능을 향상시키는 몇 가지 팁에 대해 설명합니다.

01
디스크 I/O를 위한 Linux 커널 엘리베이터 알고리즘 조정


파일 선택 후 시스템에는 성능에 영향을 줄 수 있는 몇 가지 커널 및 마운트 옵션이 있습니다. 커널 설정 중 하나는 엘리베이터 알고리즘을 조정하여 시스템이 낮은 대기 시간 요구 사항의 균형을 맞추고 디스크에서 읽기를 효과적으로 구성할 수 있도록 충분한 데이터를 수집할 수 있습니다. . 및 쓰기 요청.

02
불필요한 데몬 비활성화


각 서버 프로세스나 서비스에는 많은 데몬이 실행되고 있으며, 아이러니하게도 종종 필요하지 않은 서비스가 많이 있으며 이러한 서비스는 작동하지 않지만 귀중한 메모리와 CPU 시간을 소모합니다. 또한 서비스를 하나 더 실행하면 해커가 침입할 수 있는 문이 더 많이 열리게 됩니다. 따라서 서비스를 비활성화하면 시작 시간이 빨라진다는 것이 가장 큰 장점입니다. 그리고 서버를 확보하세요. 또한 CPU가 처리해야 하는 프로세스 수를 줄일 수 있습니다. 이를 비활성화하면 서버 보안이 향상됩니다. 데몬 수가 적다는 것은 공격을 받고 악용될 수 있는 취약점이 적다는 것을 의미하기 때문입니다.

다음은 비활성화해야 하는 일부 Linux 데몬입니다. 기본적으로 모두 자동으로 실행됩니다.


일련 번호                                                    –  Apmd                                                                          NFS 파일에 잠금 사용
3 Isdn ISDN 모뎀 지원
4 Autofs 자동 마운트 백그라운드의 파일 시스템(예: CD-ROM 자동 마운트)
5 Sendmail 메일 전송 에이전트
6 Xfs X Window의 글꼴 서버



03
GUI 끄기


일반적으로 Linux 서버에는 GUI가 필요하지 않습니다. 모든 관리 작업은 명령줄에서 수행할 수 있으므로 GUI를 끄거나 X 디스플레이를 리디렉션하거나 웹 브라우저 인터페이스를 통해 표시하는 것이 가장 좋습니다. GUI를 비활성화하려면 "초기화 수준"을 5(그래픽 로그인)가 아닌 3(명령줄 로그인)으로 설정해야 합니다. GUI가 필요한 경우 언제든지 startx를 실행하여 그래픽 사용자 인터페이스로 들어갈 수 있습니다. +

활성화된 기능이나 실제로 불필요한 모듈이 너무 많습니다(예: Apache의 많은 기능 모듈). FrontPage 지원 여부 또는 기타 추가 모듈을 확인하려면 Apache 구성 파일을 주의 깊게 확인하십시오. 그렇지 않은 경우 서버에서 을(를) 비활성화해야 합니다. 이렇게 하면 사용 가능한 시스템 메모리 양을 늘리고 실제로 필요한 소프트웨어에 더 많은 리소스를 확보하고 더 빠르게 실행할 수 있습니다.
05
제어판 비활성화


Linux에는 Cpanel과 같은 널리 사용되는 제어판이 많이 있습니다. , Plesk, Webmin 및 phpMyAdmin 등 모든 Linux 초보 사용자가 이러한 제어판을 좋아한다고 생각합니다. 그러나 이러한 패키지를 비활성화하면 약 120MB의 메모리를 확보할 수 있으므로 실제로 필요한 경우가 아니면 이러한 제어판을 비활성화하는 것이 좋습니다. PHP 스크립트(다소 안전하지는 않지만)나 명령줄 명령을 통해 활성화할 수 있습니다. 그렇게 하면 메모리 사용량을 약 30-40% 줄일 수 있습니다.

06
Linux Exim 서버 성능 향상


서버의 Exim 성능을 향상시키는 방법에는 여러 가지가 있습니다. 그 방법은 DNS 레코드를 해결하는 데 필요한 대역폭과 CPU 시간을 줄일 수 있는 DNS 캐싱 데몬을 사용하는 것입니다. DNS 캐싱은 매번 루트 노드에서 시작하는 DNS 레코드를 조회할 필요를 제거하여 네트워크 성능을 향상시킵니다. DNS 서버. Djbdns는 BIND DNS 서버보다 더 안전하고 성능이 뛰어납니다. http://cr.yp.to/에서 직접 다운로드하거나 Red Hat에서 제공하는 소프트웨어 패키지를 통해 얻을 수 있습니다.

07
AES256을 사용하여 gpg 파일 암호화 보안 강화


백업 개선 파일 또는 민감한 정보의 보안을 위해 많은 Linux 시스템 관리자는 암호화를 위해 gpg를 사용합니다. gpg를 사용할 때는 AES256이 256비트 키를 사용하도록 지정하는 것이 가장 좋습니다. 미국 국가안보국(NSA)은 이를 사용하여 일급 비밀 정보를 보호하며 이보다 더 안전한 것은 없습니다.


08
원격 백업 서비스 보안


선택할 때 가장 중요한 것은 보안입니다. 원격 백업 서비스 대부분의 시스템 관리자가 두려워하는 요소는 두 가지입니다. (해커가) 백업 파일을 삭제할 수 있다는 점과 백업에서 시스템을 복원할 수 없다는 점입니다.

백업 파일의 100% 보안을 보장하기 위해 백업 서비스 회사에서는 scp 스크립트 또는 RSYNC를 사용하여 SSH를 통해 데이터를 전송하는 원격 백업 서버를 제공합니다. 이러한 방식으로 누구도 원격 시스템에 직접 들어가거나 접근할 수 없습니다. 누구도 백업 서비스에서 원격 시스템에 액세스할 수 없습니다. 원격 백업 서비스 제공업체를 선택할 때는 해당 서비스의 견고성을 여러 측면에서 이해하고 가능하다면 직접 테스트해 보는 것이 가장 좋습니다.

09
기본 커널 매개변수 설정 업데이트


Database와 같은 엔터프라이즈 애플리케이션을 원활하고 성공적으로 실행하려면 예를 들어, 2.4. 데이터베이스에 대한 제한된 동시 연결이 허용되며, 다음은 데이터베이스 서버의 더 나은 작동을 위한 몇 가지 권장 값입니다(IBM DB2 지원 웹사이트 참조). ):


kernel.shmmax=268435456 (32비트) kernel.shmmax=1073741824 (64비트) kernel.msgmni=1024 fs.file-max=8192 kernel.sem=”250 32000 32 1024″


10
최적화된 TCP


TCP 프로토콜을 최적화하면 WAN을 통한 통신에 사용되는 네트워크 처리량과 대역폭이 증가합니다. TCP Linux 크기는 지연 시간이 길어질수록 데이터 전송 속도를 높이기 위해 더 큰 TCP Linux 크기를 사용하는 것이 좋습니다. TCP Linux 크기는 전송 호스트가 수신 호스트에 전송할 수 있는 데이터의 양을 결정합니다. 데이터 전송 확인.

11
올바른 파일 시스템 선택



대신 ext4 파일 시스템을 사용하세요. ext3



  • Ext4는 저장 한도를 확장한 ext3 파일 시스템의 향상된 버전입니다

  • 로그 기능이 있어 높은 수준의 데이터 무결성을 보장합니다. shutdown)

  • 비정상적으로 종료하고 다시 시작하는 동안 디스크를 확인할 필요가 없습니다(이 작업은 매우 시간이 많이 걸리는 작업입니다)

  • 쓰기 속도가 빨라지고 ext4 로그가 하드 디스크 헤드 이동을 최적화합니다



12
noatime 파일 시스템 마운트 옵션 사용


파일에서 시작 system 구성 파일 fstab에서 noatime 옵션을 사용합니다. 외부 저장소를 사용하는 경우 이 마운트 옵션을 사용하면 성능이 효과적으로 향상될 수 있습니다.

13
Linux 파일 설명자 제한 조정


Linux는 모든 프로세스에서 열 수 있는 파일 설명자 수를 제한합니다. 기본적으로 제한은 프로세스당 1024개입니다. 이러한 제한은 클라이언트(예: httperf 및 apachebench)와 웹 서버 자체를 벤치마킹하는 최적의 성능을 방해할 수 있습니다. Apache는 연결당 하나의 프로세스를 사용하므로 영향을 받지 않지만 단일 프로세스 웹 서버의 경우 예를 들어 Zeus는 연결당 하나의 파일 설명자를 사용하므로 기본 제한 사항의 영향을 받기 쉽습니다.

열린 파일 제한은 ulimit 명령으로 조정할 수 있는 제한입니다. ulimit -aS 명령은 현재 제한을 표시하고 ulimit -aH 명령은 하드 제한을 표시합니다(커널 매개변수를 조정하기 전에는 제한을 늘릴 수 없습니다). /proc).

Linux 타사 애플리케이션 성능 팁

Linux에서 실행되는 타사 애플리케이션의 경우 Linux 서버 성능을 향상하고 운영 비용을 줄이는 데 도움이 되는 성능 최적화 팁도 많이 있습니다.

14
MySQL을 올바르게 구성


MySQL에 더 많은 메모리를 할당하기 위해 MySQL 캐시 크기를 설정할 수 있습니다. MySQL의 경우 서버 인스턴스가 더 많은 메모리를 사용하므로 캐시 크기를 줄이십시오. 요청이 증가하여 MySQL이 정체되는 경우 MySQL 캐시 크기를 늘리십시오.

15
Apache를 올바르게 구성하세요


Apache가 사용하는 메모리 양을 확인한 다음 StartServers 및 MinSpareServers 매개변수는 더 많은 메모리를 확보하기 위해 30-40%의 메모리를 절약하는 데 도움이 됩니다.

다음은 Linux 서버 모니터링 및 문제 해결을 개선하기 위한 몇 가지 팁입니다.

16
Linux 서버 성능 분석


시스템 효율성을 향상시키는 가장 좋은 방법은 전체 장애를 일으키는 병목 현상을 식별하는 것입니다. 속도 저하를 방지하기 위해 시스템의 중요한 병목 현상을 식별하기 위한 몇 가지 기본 팁은 다음과 같습니다.

● OpenOffice 및 Firefox와 같은 대규모 응용 프로그램이 동시에 실행되면 컴퓨터 속도가 느려지기 시작할 수 있습니다. 메모리 부족 현상이 발생할 가능성이 더 높습니다.

● 시작이 정말 느린 경우에는 응용 프로그램을 처음 로드하는 데 시간이 오래 걸릴 수 있습니다. 그렇지 않으면 하드 디스크가 너무 느려질 수 있습니다. 또한, 공개 계정 프로그래머 샤오레의 백엔드를 검색해 "돈 벌자"라고 답하면 깜짝 선물 패키지를 얻을 수 있다.

●CPU 로드가 계속 높고 메모리도 충분하지만 CPU 사용률이 매우 낮습니다. CPU 로드 분석 도구를 사용하여 로드 시간을 모니터링할 수 있습니다.

17
5가지 Linux 성능 명령 알아보기


다음과 같이 몇 가지 명령을 사용하여 Linux 시스템의 성능을 관리합니다. 시스템 관리자가 성능 문제를 신속하게 해결하는 데 도움이 되는 top, vmstat, iostat, free 및 sar를 포함하여 가장 일반적으로 사용되는 5가지 Linux 성능 명령이 나열되어 있습니다.

01 top

Top 명령은 현재 커널 서비스의 작업을 표시할 뿐만 아니라 호스트 상태에 대한 많은 통계도 표시합니다. 기본적으로 표시된 데이터를 5초마다 자동으로 업데이트합니다. 간격은 구성 가능) top 명령을 통해 현재 가동 시간, 시스템 로드, 프로세스 수 및 메모리 사용량과 같은 여러 결과를 알 수 있습니다. 또한 이 명령은 가장 많은 CPU 시간을 사용하는 프로세스도 표시합니다. 실행 중인 사용자, 실행된 명령 등 각 프로세스에 대한 다양한 정보).

02 vmstat

Vmstat 명령은 현재 CPU, IO, 프로세스 및 메모리 사용량에 대한 스냅샷을 제공합니다. 이는 top 명령과 유사하며 다음과 같이 데이터를 자동으로 업데이트합니다.


$ vmstat 10



03 iostat

Iostat 명령(Ubuntu, Red Hat/Fedora의 sysstat 패키지에 포함)은 매개변수를 사용하여 실행할 때 CPU 사용률, 장치 사용률 및 네트워크 파일 시스템 사용률이라는 세 가지 보고서를 제공합니다. , iostat는 이 세 가지 보고서를 독립적으로 표시하려면 -c, -d 및 -h 매개변수를 사용합니다.

04 free

Free 명령은 주 메모리 및 스왑 공간의 메모리 통계를 표시합니다. 전체 메모리 양을 표시하려면 -b 매개변수를 지정합니다. 메모리 통계를 표시합니다. 기본적으로 킬로바이트로 표시됩니다.

Free 명령은 -s 매개변수와 지연 시간(단위: 초)을 사용하여 연속적으로 실행할 수도 있습니다.



05 sar


Sar 명령은 이전 명령보다 더 오랜 기간 동안 데이터를 수집하고 표시할 수 있습니다.


Others


다음은 기타로 분류된 성능 팁입니다.

18
로그 파일을 메모리로 전송


머신이 실행 중일 때 시스템 로그를 보관하는 것이 가장 좋습니다. 시스템이 종료되면 메모리를 저장하고 하드 드라이브에 복사합니다. syslog가 활성화된 노트북이나 모바일 장치를 실행할 때 ramlog는 시스템 배터리나 모바일 장치 플래시 드라이브의 수명을 늘리는 데 도움이 될 수 있습니다. 더 이상 데몬이 30초마다 syslog에 메시지를 보내는 것에 대해 걱정할 필요가 없습니다. 과거에는 하드 디스크가 항상 계속 실행되어야 했기 때문에 하드 디스크와 배터리에 좋지 않았습니다. ㅋㅋㅋ

메모리에 고정된 크기의 공간을 나누어 저장 Log 이는 노트북 하드 디스크가 항상 실행될 필요가 없음을 의미합니다. 데몬이 로그를 작성해야 할 때만 실행됩니다. ramlog에서 사용하는 메모리 공간의 크기는 고정되어 있습니다. 그렇지 않으면 시스템 메모리가 고정됩니다. 노트북이 솔리드 스테이트 드라이브를 사용하고 램로그에 50-80MB의 메모리를 할당할 수 있는 경우 Ramlog는 많은 쓰기 주기를 줄이고 솔리드 스테이트 드라이브의 서비스 수명을 크게 향상시킬 수 있습니다.
20
일반 튜닝 팁


가능하면 동적 콘텐츠 대신 정적 콘텐츠를 사용하세요. 또는 매시간 업데이트되어야 하는 기타 데이터의 경우 사용자가 CGI를 실행하여 보고서를 동적으로 생성하도록 하는 것보다 매시간 정적 파일을 생성하는 프로그램을 작성하는 것이 가장 좋습니다.

동적 애플리케이션에 가장 빠르고 가장 적합한 API를 선택하세요. CGI는 프로그래밍하기 가장 쉬울 수 있지만 각 요청에 대해 프로세스를 생성합니다. 일반적으로 이는 비용이 많이 들고 불필요한 프로세스입니다. FastCGI가 더 좋습니다. Apache의 mod_perl과 같은 선택 , 애플리케이션의 성능을 크게 향상시킬 수 있습니다.

위 내용은 요약: 20가지 Linux 서버 성능 조정 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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