단일 Linux 서버에서 다른 파일 시스템을 실행하면 성능에 미치는 영향


13

"HBase : 결정적인 가이드" 책 은

단일 서버에 다른 파일 시스템을 설치하지 않는 것이 좋습니다. 커널이 다른 파일 시스템을 지원하기 위해 버퍼 캐시를 분할해야 할 수 있으므로 성능에 부정적인 영향을 줄 수 있습니다. 특정 운영 체제의 경우 성능에 치명적인 영향을 줄 수 있다고보고되었습니다.

이것이 실제로 Linux에 적용됩니까? 버퍼 캐시가 300MB보다 큰 것을 본 적이 없으며 대부분의 최신 서버에는 기가 바이트의 RAM이 있으므로 다른 파일 시스템간에 버퍼 캐시를 분할해도 문제가되지 않습니다. 다른 것을 놓치고 있습니까?


1
아마도 저자에게 이메일을 보내거나 트윗을 해보십시오.
Dolan Antenucci

답변:


14

버퍼 캐시 분할은 해롭지 만 그 영향은 미미합니다. 나는 그것이 너무 작아서 기본적으로 측정하는 것이 불가능하다고 생각합니다.

다른 마운트 지점 간의 데이터도 공유 할 수 없음을 기억해야합니다 .

다른 파일 시스템은 다른 할당 버퍼를 사용하지만 메모리가 거기에 앉아서 예쁘게 할당되는 것과는 다릅니다. slabtop3 가지 파일 시스템 (XFS, ext4, btrfs)을 실행하는 시스템의 데이터 :

  OBJS 활성 사용 OBJ 크기 슬라브 OBJ / SLAB 캐쉬 크기 이름 
 42882 42460 99 % 0.70K 1866 23 29856K shmem_inode_cache
 1448313872 95 % 0.90K 855 17 13680K ext4_inode_cache
  4096 4096 100 % 0.02K 16256 64K jbd2_revoke_table_s
  2826 1136 40 % 0.94K 167 17 2672K xfs_inode
  1664 1664 100 % 0.03K 13128 52K jbd2_revoke_record_
  1333886 66 % 1.01K 43 31 1376K btrfs_inode_cache
(많은 다른 물건들)

보시다시피, 실제로 크기가 큰 캐시의 사용률은 90 % 이상입니다. 따라서 여러 파일 시스템을 병렬로 사용하는 경우 컴퓨터가 전용 파일 서버가 아닌 경우 시스템 메모리의 5 %를 잃는 것과 비슷한 비용이 발생합니다.


slabtop 명령에 대해 알려주는 +1!
Scott

캐시는 상호 배타적이므로 실제로 중요하지 않지만 여전히 리소스 제한 시스템에 영향을 줄 수 있습니다.
poige

5

부정적인 영향은 없다고 생각합니다. 동일한 서버 설정에서 ext3 / ext4를 XFS (및 ZFS)와 혼합 한 경우가 종종 있습니다. 나는 실행중인 하드웨어를 고려할 때 내 성능을 예상보다 적은 것으로 묘사하지 않을 것입니다.

[root@Lancaster ~]# mount
/dev/cciss/c0d0p2 on / type ext4 (rw)
/dev/cciss/c0d0p7 on /tmp type ext4 (rw,nobarrier)
/dev/cciss/c0d0p3 on /usr type ext4 (rw,nobarrier)
/dev/cciss/c0d0p6 on /var type ext4 (rw,nobarrier)
vol2/images on /images type zfs (rw,xattr)
vol1/ppro on /ppro type zfs (rw,noatime,xattr)
vol3/Lancaster_Test on /srv/Lancaster_Test type zfs (rw,noatime,xattr)

특정 시나리오에 대해 걱정하십니까? 어떤 파일 시스템이 사용됩니까? 어떤 배포판에 있습니까?

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.