Tôi không chắc đây là sự cố ubuntu hay sự cố git ...
Tôi có hai PC
- một là ubuntu VM (gọi nó là VM PC)
- cái còn lại là PC Ubuntu (gọi nó là Build PC)
Cả hai đều đang chạy Ubuntu 18.04.
Cả hai đều đang chạy trên cùng một phần cứng (máy vật lý khác nhau - nhưng cùng một bản dựng hw).
Tôi có một cấu trúc repo rất lớn, nhưng khi tôi chạy time git submodule foreach --recursive git status
Tôi nhận được thời gian cực kỳ khác nhau:
- Xây dựng PC: ~40s
- Máy ảo: ~9 giây
Nếu tôi chỉ làm trạng thái git
ở cấp cao nhất, tôi nhận được ~2 giây trên Build PC và ~0,5 giây trên VM PC.
Cả hai đều đang chạy cùng một phiên bản git 2.17.1 - trên thực tế, hai Ubuntu được thiết lập bằng cách sử dụng cùng một tập lệnh cài đặt - vì vậy chúng thực sự rất giống nhau.
Sự khác biệt chính là Build PC có 3 vật lý 1 NVmem và 2xSSD:
- Hệ điều hành 256GB (NVM)
- repo sw 1TB (repo đang thử nghiệm ở đây)
- 1TB kho lưu trữ khác
Trong khi trên VM, tất cả trên một ổ SSD trong hình ảnh đĩa hộp virutal (khoảng 500 GB)
Tôi không chắc bắt đầu gỡ lỗi vấn đề này từ đâu vì vậy tôi nghĩ mình sẽ bắt đầu trong diễn đàn này :)
cập nhật
Tôi đã thử điều này trên SSD hệ điều hành trên Build PC và vẫn nhận được kết quả chậm hơn.... vì vậy đó không phải là vấn đề với SSD thứ 2/thứ 3 hoặc cách chúng được gắn kết...
Cập nhật 2
Trên hai máy khác nhau - chúng đang thử nghiệm trên cùng một repo chính xác (được sao chép theo cùng một cách từ cùng một điều khiển từ xa). Build PC one là một bản sao gần đây hơn - nhưng tôi hy vọng rằng số lần gỡ lỗi sẽ giống nhau. Đây là kết quả của: git đếm đối tượng -v
:
máy ảo
đếm: 281
kích thước: 1184
trong gói: 1698
gói: 2
gói kích thước: 112961
prune-packable: 0
rác: 0
kích thước rác: 0
Xây dựng PC
đếm: 0
kích thước: 0
trong gói: 1972
gói: 1
gói kích thước: 112994
prune-packable: 0
rác: 0
kích thước rác: 0
các giá trị rất khác nhau... Tôi không chắc điều đó có nghĩa là gì. Vì vậy, tôi đã xóa và sao chép lại kho lưu trữ VM PC để xem liệu một bản sao mới có tạo ra sự khác biệt hay không. Dưới đây là những giá trị đó:
đếm: 0
kích thước: 0
trong gói: 1972
gói: 1
gói kích thước: 112994
prune-packable: 0
rác: 0
kích thước rác: 0
tôi chạy lại trạng thái git
kiểm tra và nhận được kết quả chính xác như vậy - trong đó VM PC nhanh hơn nhiều
cập nhật 3
Chạy thực sự kỳ lạ: thời gian GIT_TRACE_PERFORMANCE=1 git st
trên Build PC in tải gỡ lỗi - nhưng chạy nhanh như PC VM (<1 giây). Nhưng nếu tôi chạy bất cứ thứ gì khác thì sẽ mất nhiều thời gian hơn:
thời gian GIT_TRACE_PERFORMANCE=1 git st
~0,5 giây
thời gian GIT_TRACE_PERFORMANCE=1 git st 2> /dev/null
~2 giây
thời gian git st
~2s