2010-03-18 25 views
6

Bạn có muốn chuyển sang HipHop thay vì XCache không?HipHop thay vì XCache?

HipHop đã sẵn sàng cho giờ cao điểm hay chúng ta nên đợi vài tháng trước khi triển khai?

Chỉnh sửa: chúng tôi rất thú vị khi thử nghiệm cấu hình trên máy chủ đang chạy vBulletin.

Trả lời

22

Hãy để tôi làm sáng tỏ một quan niệm sai lầm mà bạn có thể có về Hiphop và Xcache. XCache hoạt động bằng cách thêm bộ nhớ đệm Opcode vào thực thi PHP của ZEND (như APC và bạn bè), trong khi HipHop của Facebook cho phép mã PHP được chuyển thành mã C++ và sau đó được biên dịch bằng g ++. Không thể chạy XCache với HipHop vì HipHop không phụ thuộc vào trình thông dịch Zend (và thậm chí không sử dụng opcodes php vì nó được biên dịch sang bytecode sau khi được chuyển thành C++).

Bây giờ để trả lời câu hỏi của bạn, HipHop đang được sử dụng trực tiếp để lưu trữ một lượng lớn lưu lượng truy cập của Facebook. Facebook sẽ không phát hành dự án này nếu nó không ổn định, nhưng vì nó rất mới, tôi vẫn sẽ thận trọng. HipHop không chỉ là một bản vá cho Zend Interpreter cũ, nó là một cách hoàn toàn khác để chạy mã PHP và có thể sẽ có một vài lỗi trong đó.

Một điều mà Facebook đã làm để đảm bảo rằng Hiphop đã hoạt động trước khi họ chuyển sang đó là họ đã có thể thiết lập các bài kiểm tra đơn vị rất nghiêm ngặt về từng yêu cầu có thể trên trang web của họ. Bằng cách đó, nếu đầu ra từ Hiphop khác với Zend PHP bình thường, họ sẽ quay lại và gỡ lỗi thêm cho đến khi mọi thứ "làm việc cho họ". Chỉ vì nó "hoạt động" trên cơ sở mã Facebook không chứng minh rằng nó sẽ làm việc cho bạn. Nếu bạn quyết định chuyển sang HipHop, hãy đảm bảo kiểm tra nó tốt.

EDIT:

HHVM (mới phiên bản VM của HPHP) có thể bây giờ evalcreate_function. Họ nên là như nhau cho tất cả/lý do có ý nghĩa nhất.

Có một vài điều không tương thích với HipHop. Họ đã xóa các hàm evalcreate_function. Họ cũng chỉ hỗ trợ PHP 5.2.x cho bây giờ, nhưng họ có kế hoạch để thêm hỗ trợ cho 5.3 "sớm".

+0

Cảm ơn bạn đã trả lời thông tin này. Bạn có thể vui lòng xem xét câu hỏi trên máy ảo HipHop- http://stackoverflow.com/questions/8697348/facebook-hiphop-virtual-machine-for-php Cảm ơn –

8

Tôi thích ý tưởng của HipHop, vì vậy đừng hiểu lầm tôi ở đây, nhưng có điều gì đó cần nhớ: HipHop không dành cho tất cả mọi người. Từ Sebastian Bergmann:

nó không phải là một giải pháp cho một vấn đề phải đối mặt bởi 99,9% của PHP các triển khai trên mạng

Trừ khi bạn có lưu lượng tỷ lệ Facebook và nút cổ chai của bạn là CPU hoặc bộ nhớ sử dụng, bạn' không có khả năng nhìn thấy nhiều lợi ích (so với xcache, apc, vv). Cơ sở dữ liệu và truy cập hệ thống tập tin vẫn sẽ là kẻ giết người của bạn.

2

Tôi khá tự tin rằng bản tin 3.x sẽ không hoạt động với HipHop. Hệ thống plugin của VB 3 bao gồm gần 2000 câu lệnh eval rải khắp mã, và eval không được hỗ trợ bởi hiphop.

Đó có lẽ chỉ là đỉnh của tảng băng trôi, khi nói đến việc nhận bản tin để biên dịch.