21/07/2009

Local protocol and multi-core processors

English version plz
read here
http://ibdeveloper.blogspot.com/2009/06/local-protocol-and-multi-core.html
Chúng tôi đã phát hiện một hiện tượng rất lạ khi sử dụng kết nối cục bộ Firebird Superserver 1,5 trên Windows. Kiểm nghiệm đã được thực hiện trên máy tính AMD 2 CPU với câu lệnh sao lưu như sau:
gbak -b -g db.fdb db.fbk
Khi gbak không chạy trên bộ xử lý nào hay khi chạy trên bộ xử lý khác với bộ xử lý mà Firebird SuperServer đang chạy (ví dụ khi fbserver.exe chạy trên bộ xử lý 0, gbak.exe chạy trên bộ xử lý 1) thì gbak hầu như không chiếm tải trên bộ xử lý và fbserver.exe chiếm tải dưới 50%.
Khi gbak.exe chạy trên cùng bộ xử lý với fbserver.exe thì tốc độ sao lưu tăng lên gần hai lần và fbserver.exe chiếm tải 95% bộ xử lý.
Ví dụ, kết quả của câu lệnh gbak -b -g cho cơ sở dữ liệu 3.8 GB
như sau:
  • fbserver và gbak chạy trện cùng bộ xử lý: 9 phút 22 giây.
  • fbserver và gabk chạy trên hai bộ xử lý khác nhau: 15 phút 41 giây.
Kết quả này hoàn toàn đốu lập với khi sử dụng giao thức TCP. Khi sử dụng giao thức TCP thì kết quả sẽ là 4 phút 10 giây không phụ thuộc vào gbak chạy trên bộ xử lý nào.
Vì vậy, ngay lúc này, chúng tôi khuyên bạn không nên sử dụng giao thức kết nối cục bộ cho Firebird Superserver 1.5 mà sử dụng localhost thay thế. Các thí nghiệm kiểm tra vẫn đang được tiến hành và cách thức để giải quyết sẽ được tìm ra.

Bài viết liên quan



Không có nhận xét nào:

Đăng nhận xét