2009-11-17 53 views
5

Tôi tham gia vào một dự án sẽ tạo ra khoảng 10 triệu trang mới trên một trang web hiện có. Trang web và dự án mới này được xây dựng với CodeIgniter và kết nối với MySQL.Caching số lượng lớn các trang trên trang web php

Tôi chưa bao giờ xử lý một trang web có kích thước này trước đây và tôi lo ngại về cách chúng tôi nên xử lý bộ nhớ đệm. Có ai xử lý với bộ nhớ đệm trên một trang web PHP có kích thước này có thể cho tôi một số con trỏ? Tôi đã quen với hệ thống bộ nhớ đệm CodeIgniter và tương tự, nhưng số lượng tệp bộ nhớ cache sẽ khiến tôi lo lắng.

Mọi đề xuất sẽ được đánh giá cao.

Trả lời

1

Có một số lớp bộ nhớ đệm có sẵn cho PHP và CodeIgniter, nhưng bạn không cần phải lo lắng về số lượng tệp được lưu trữ trên máy chủ Linux chuẩn (các hệ thống tệp khác nhau có thể xử lý hàng trăm triệu tệp trên mỗi điểm gắn kết) . Nhưng để chọn phương pháp lưu vào bộ nhớ đệm, bạn cần phải đo lường cẩn thận.

Options:

  • Opcode bộ nhớ đệm (Zend, eAccelerator, and more)
  • CodeIgniter xem bộ nhớ đệm (cấu hình cho mỗi lần xem)
  • CodeIgniter đọc bộ nhớ đệm truy vấn
  • chung web bộ nhớ đệm (more info)
  • Tối ưu hóa cơ sở dữ liệu của bạn (more info)

(và vân vân)

Ngoài ra, bạn có thể cải thiện bộ đệm tệp bằng cách sử dụng hệ thống tệp bộ nhớ và bảng trong bộ nhớ.

Câu hỏi thực sự là, làm thế nào để bạn chọn chiến lược bộ nhớ đệm? Quy hoạch năng lực. Bạn lập mô hình hệ thống của mình (người dùng, tài khoản, trang, tệp), mô phỏng, đo lường và thêm bộ nhớ cache dựa trên lý thuyết tốt nhất. Đo lại. Sản xuất các lý thuyết và phép đo mới cho đến khi bạn có các phương pháp phù hợp với quy mô mong muốn của mình.

Theo kinh nghiệm của tôi, xem bộ nhớ đệm và lưu vào bộ nhớ cache trên web là một lợi ích lớn cho các trang web được đọc rộng rãi (ví dụ WPSuperCache). Opcode caching (và các dạng khác của min-imisation) rất hữu ích cho các trang web động mạnh mẽ, như là điều chỉnh hiệu năng cơ sở dữ liệu.

2

Tôi chưa thực hiện bất kỳ điều gì trên quy mô đó, nhưng tôi không thấy vấn đề với bộ nhớ đệm dựa trên tệp miễn là cơ chế lưu bộ nhớ cache không hoàn toàn câm và bạn đang sử dụng hệ thống tệp hiện đại. Việc phân phối các tệp bộ đệm trong toàn bộ cây thư mục là đủ thông minh.

Nếu bạn lo lắng, điều đó tốt. Tất nhiên, tôi sẽ đề nghị viết một trình bao bọc xung quanh cơ chế tích hợp của CI, để bạn có thể dễ dàng trao đổi nó cho một thứ khác (Giống như Zend_Cache, có thể với một máy chủ ghi nhớ mạnh mẽ, hoặc một số hệ thống dựa trên tập tin thông minh hơn) .

0

FYI: Nếu hệ thống chạy trên máy chủ Windows: Windows có thể (có thể?) Tối đa. có khoảng. 65.000 tệp trong một thư mục, bao gồm các thư mục bộ nhớ cache. Không chắc chắn nếu giới hạn trên này đã được sửa trong các phiên bản mới hơn.

0

Tất cả những kẻ lớn sử dụng APC. Số lượng trang web không liên quan. Số có liên quan là số lần truy cập (số lần truy cập trang). Và nếu bạn thiết kế cho mương tốc độ các máy Windows.

Các vấn đề liên quan