Tôi vừa bắt đầu sử dụng YII và quản lý để hoàn thành ứng dụng đầu tiên của mình. Thật không may, ngày khởi động là gần và tôi muốn ứng dụng này được siêu nhanh. Cho đến nay, cách duy nhất để tăng tốc nó tôi đã gặp, là standard caching. Có những cách nào khác để tăng tốc ứng dụng của tôi?Cách nhanh nhất để tăng tốc ứng dụng YII của bạn?
Trả lời
Trước hết, hãy đọc Performance Tuning trong hướng dẫn chính thức. Ngoài ra:
- Check HTTP caching.
- Cập nhật PHP của bạn. Mỗi phiên bản chính cung cấp cho bạn một sự tăng trưởng tốt.
- Sử dụng redis (hoặc ít nhất cơ sở dữ liệu) cho các phiên (phiên mặc định PHP đang sử dụng tệp và đang chặn).
- Cân nhắc sử dụng nginx thay thế (hoặc bằng) apache. Nó phục vụ nội dung tốt hơn nhiều.
- Cân nhắc sử dụng CDN.
- Tinh chỉnh cơ sở dữ liệu của bạn.
Đây là tất cả những điều chung tương đối dễ thực hiện. Nếu nó không được chấp nhận sau đó, đừng giả định. Hồ sơ.
Tôi nghĩ rằng phần "Bật APC /' {$ other_opcache} '" cần được nhấn mạnh thêm. Có thể kết hợp với [hướng dẫn này] (http://www.yiiframework.com/wiki/312/getting-the-most-out-of-apc-for-yii/). HTH :) – DaSourcerer
Nếu hầu hết ứng dụng của bạn có thể lưu vào bộ nhớ cache, bạn nên dùng proxy như véc ni.
1. Sau thực hành tốt nhất
Trong công thức này, chúng ta sẽ thấy làm thế nào để cấu hình Yii cho màn trình diễn tốt nhất và sẽ thấy một số nguyên tắc bổ sung của việc xây dựng các ứng dụng đáp ứng. Những nguyên tắc này vừa là chung và có liên quan đến Yii. Vì vậy, chúng tôi sẽ có thể áp dụng một số trong số này ngay cả khi không sử dụng Yii.
Chuẩn bị sẵn sàng
Cài đặt APC (http://www.php.net/manual/en/apc.installation.php)
Tạo một ứng dụng Yii tươi sử dụng yiic webapp
2.Speeding lên phiên xử lý
xử lý phiên bản xứ trong PHP là tốt trong hầu hết các trường hợp. Có ít nhất hai lý do có thể bạn sẽ muốn thay đổi cách phiên được xử lý:
Khi sử dụng nhiều máy chủ, bạn cần phải có một lưu trữ phiên chung cho cả hai máy chủ
phiên Mặc định PHP sử dụng các file, vì vậy hiệu suất tối đa có thể bị hạn chế bởi đĩa I/O
phụ thuộc 3.Using bộ nhớ cache và chuỗi
Yii hỗ trợ nhiều backends cache, nhưng những gì thực sự làm cho Yii bộ nhớ cache linh hoạt là sự hỗ trợ phụ thuộc và sự phụ thuộc chaining. Có những tình huống khi bạn không thể chỉ đơn giản là bộ nhớ cache dữ liệu trong một giờ vì thông tin được lưu trữ có thể được thay đổi bất cứ lúc nào.
Trong công thức này, chúng tôi sẽ xem cách lưu vào bộ nhớ cache toàn bộ trang và vẫn luôn nhận được dữ liệu mới khi được cập nhật. Trang sẽ là loại trang tổng quan và sẽ hiển thị năm bài viết mới nhất được thêm và tổng số được tính cho một tài khoản.Lưu ý rằng một thao tác không thể chỉnh sửa được vì nó đã được thêm vào, nhưng một bài báo có thể.
4.Profiling một ứng dụng với Yii
Nếu tất cả các thực hành tốt nhất cho việc triển khai một ứng dụng Yii được áp dụng và bạn vẫn không có hiệu suất mà bạn muốn, sau đó có lẽ hầu hết, có một số vướng mắc với bản thân ứng dụng. Nguyên tắc chính trong khi đối phó với những tắc nghẽn này là bạn không bao giờ nên giả định bất cứ điều gì và luôn kiểm tra và cấu hình mã trước khi cố gắng tối ưu hóa nó.
Mặc định vấn đề phiên PHP không phải là đĩa I/O nhưng thực tế là chúng đang chặn. –
Chuyển đến hiệu suất PHP Mysql chung.
1) Memcache
Memcahced mã nguồn mở bộ nhớ hệ thống phân phối đối tượng bộ nhớ đệm nó giúp bạn tăng tốc các ứng dụng web động bằng cách giảm tải máy chủ cơ sở dữ liệu.
3) Hiệu suất Webserver chuyển cho PHP
bạn đã đọc về [điều chỉnh hiệu suất] (http://www.yiiframework.com/doc/guide/1.1/en/topics. hiệu suất)? –
Điều đó trả lời mọi thứ tôi cần. Sau đó tôi có xóa bài đăng này không? Hoặc đóng nó? – coderama
Hoặc, thay vào đó, @ bool.dev có thể đưa câu trả lời 9 lần lên trên của mình trong một câu trả lời thực tế và coderama có thể chấp nhận nó. Không có gì sai với điều đó. –