2008-08-16 36 views
17

Tôi đang nghĩ đến việc sử dụng khung công tác PHP có tên là CodeIgniter.Làm cách nào để xác định tốc độ CodeIgniter?

Một trong những điều tôi quan tâm là tốc độ của nó. Tôi có, tuy nhiên, không có cách nào để tìm ra nhanh như thế nào, và thay vì không chỉ đơn giản là lấy từ trang web của họ cho nó. Có ai biết làm thế nào tôi có thể xác định tốc độ của mình bản thân mình, hoặc ai đó có thể cho tôi biết về một trang web có thể?

Trả lời

2

tôi khuyên bạn nên thử nghiệm nó cho chính mình. sử dụng xdebug's profiler để tạo tệp tương thích cachegrind và webgrind để trực quan hóa tệp.

theo cách đó bạn kết thúc với thông tin rất đáng tin cậy.

3

Nếu trang web của bạn là cơ sở dữ liệu-driven tôi sẽ rất ngạc nhiên nếu nút cổ chai của bạn sẽ là khung ứng dụng. "Nhanh" như trong phát triển nhanh hơn là những gì tôi sẽ lo lắng về chứ không phải là "nhanh" như trong xử lý nhanh chóng các yêu cầu. Tối ưu hóa đáng kể được thực hiện tốt hơn bằng các chiến lược lưu trữ và tối ưu hóa quyền truy cập cơ sở dữ liệu của bạn.

Bên cạnh việc truy cập cơ sở dữ liệu mã của riêng bạn sẽ là nơi hầu hết thời gian cho mỗi yêu cầu được chi tiêu (và thậm chí thường không đáng kể so với truy nhập cơ sở dữ liệu), khung này sẽ không ảnh hưởng đến thời gian yêu cầu, trừ khi nó thực sự bị viết sai. Nó là cách tốt hơn để tìm một khuôn khổ có hỗ trợ bộ nhớ đệm tốt (mà Code Igniter có thể có, tôi không biết), mà hầu như luôn luôn giúp bạn tiết kiệm nhiều thời gian hơn vài mili giây bạn có thể cạo bỏ yêu cầu xử lý bằng cách sử dụng khung công tác nhanh hơn một chút.

Hãy xem Zend Framework quá, nó có lợi ích là PHP 5, trong khi Code Igniter vẫn là PHP 4, như tôi đã hiểu. Đó có thể là một vấn đề khi nói đến tốc độ, nhưng ủng hộ khung mà tôi không biết. Zend có hỗ trợ bộ nhớ đệm tốt và một trình lược tả cơ sở dữ liệu có thể giúp bạn tìm ra chỗ nghẽn cổ chai của bạn.

8

Có, vấn đề là bạn phải xây dựng ứng dụng của bạn để cấu hình nó.

Tại nơi làm việc, chúng tôi đã có một vài dự án được viết bên ngoài mà chúng tôi đã kiểm tra tải trước khi đưa chúng vào các hộp chính của chúng tôi. Chúng tôi đã rất ngạc nhiên khi thấy các vấn đề về hiệu suất quan trọng với cả hai; một cái được viết bằng CakePHP và cái còn lại được viết bằng Drupal. Tôi không nghĩ rằng điều này làm nổi bật một vấn đề với bất kỳ khung hoặc CMS nào khác ngoài việc cần phải làm hồ sơ và tải thử nghiệm trên bất kỳ trang web nào sẽ nhận được lưu lượng truy cập đáng kể. Trong cả hai trường hợp, đó là những gì nhà phát triển đã làm, thay vì các đặc tính của nền tảng phần mềm, gây ra vấn đề. Ví dụ, có một hàm đệ quy gọi là nhà phát triển đã tạo ra trong dự án Cake mà đã khởi tạo toàn bộ đối tượng Cake mỗi lần đệ quy và điều này sẽ lấy ra khỏi máy chủ nó đã đi trực tiếp dưới tải.

Trong hoạt động ý kiến ​​của tôi không phải là yếu tố quyết định trong việc chọn một khuôn khổ; sự khác biệt khách quan có thể là biên và cách bạn sử dụng nó có khả năng gây ra nhiều vấn đề về hiệu năng hơn hiệu năng vốn có của khung công tác.

Tôi tin rằng để mở rộng bất kỳ ứng dụng PHP nào chạy dưới tải, bạn sẽ cần một bộ nhớ đệm opcode và bạn sẽ cần phải ghi vào bộ nhớ đệm nội dung thông minh bằng cách sử dụng bộ nhớ đệm được hỗ trợ.

1

Theo,

Có mã Igniter cung cấp bộ nhớ đệm. Không có ý tưởng làm thế nào có hiệu quả, nhưng nó có sẵn.

3

Paul M. Jones gần đây đã cập nhật số framework benchmarks của mình. Anh ta so sánh hiệu năng của một ứng dụng Hello World trong một vài khung công tác PHP phổ biến.

Đây là những điều thú vị, nhưng hãy nhớ rằng không nói nhiều về ứng dụng thế giới thực.

1

CodeIgniter rất nhanh cho hầu hết các dự án. Một số đã đăng ở đây và nếu bạn Google, bạn sẽ thấy rằng nó so sánh thuận lợi với các khung công tác khác liên quan đến tốc độ.

Tôi đồng ý với một áp phích khác rằng hiệu suất thường không phải là mối lo ngại lớn khi nói đến lựa chọn khung. Các khung chính đều có đủ hiệu suất cho hầu hết các dự án.

1

Bạn sẽ hài lòng với Codeigniter. Tôi có một vài trang web có tải nặng và nó hoạt động rất tốt cho tôi.

1

Tôi tìm thấy codeigniter khá nhanh so với các khuôn khổ php khác.

của nó thậm chí còn nhanh để học hỏi .. ;-)

Nếu bạn có MVC khái niệm, nó chỉ mất một vài giờ để bắt đầu ....

1

Bạn có thể muốn đọc THIS THREAD trong Diễn đàn CodeIgniter so sánh tốc độ trên trang web đầy đủ được phát triển lần đầu với CakePHP và sau đó được viết lại bằng CodeIgniter

1

Tôi duy trì trang web bị đóng vài lần một năm. Năm ngoái, nhóm phát triển đã viết lại toàn bộ trang web bằng Codeigniter và chúng tôi đã có nhiều may mắn về hiệu suất. Ngoài ra, thời gian cần để thực hiện viết lại là tối thiểu vì khung công tác này khá dễ làm việc. CakePHP theo ý kiến ​​của tôi cũng là một lựa chọn tốt nếu bạn thấy rằng bạn không thích Codeigniter.

1

Đối với CodeIgniter và các khuôn khổ PHP khác, PHP Profiler nhanh rất tiện dụng cho điểm chuẩn và tốc độ đo đặc biệt cho truy vấn cơ sở dữ liệu. Bạn phải kiểm tra điều này: php-quick-profiler

Rất dễ cài đặt và cung cấp GUI tuyệt vời để kiểm tra các bài kiểm tra điểm chuẩn khác nhau.

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