2013-07-04 19 views
5

Tôi đã theo dõi sylius' install instructions cho nhà soạn nhạc và nhận bản sao cục bộ của tôi hoạt động. Vấn đề là khi tôi đi đến địa phương/app_dev.php phải mất một thời gian rất dài để tải, 12-18 giây. tuy nhiên trình thu thập thông tin hiển thị thời gian nhanh hơn nhiều ...Tại sao sylius chạy quá chậm trên địa phương trong dev?

Ngoài ra các hướng dẫn cài đặt không giải thích cách làm việc cục bộ/app.php hoặc môi trường sản xuất. Bất kỳ thông tin có thể hữu ích :).

+0

bạn không có bất kỳ thông tin nào khác? – Florian

+1

Tất cả các thông tin này cũng có thể được phân bổ từ các tài liệu của symfony. – Florian

+1

http://symfony.com/doc/current/cookbook/configuration/environments.html – Florian

Trả lời

10

Trước tiên hãy để tôi cảm ơn @Florian vì mối liên kết của anh ấy và sự thúc đẩy để tôi đào bới một chút :).

Khi theo các hướng dẫn trên sylius' getting started page:

$ wget http://getcomposer.org/composer.phar 
$ composer.phar create-project sylius/sylius -s dev 
$ cd sylius 
$ app/console sylius:install 

bạn bằng cách cài đặt mặc định sử dụng file config_dev.yml. Điều này sẽ thiết lập db của bạn là {dbname} _dev, cũng như gỡ lỗi trong app_dev.php. Khi gỡ lỗi là trên "cache files are dynamically rebuilt on each request." Đây là những gì gây ra tốc độ chậm.

Liên quan đến việc sử dụng app.php (env sản xuất), bạn có thể chạy app/console sylius: install -e prod. Điều này sẽ thiết lập một db thông thường và bạn có thể sử dụng app.php.

Bí ẩn được giải quyết :).

tài nguyên hữu ích: How to Master and Create new Environments - Symfony2

0

Tôi đã chạy Sylius trên một thiết lập Vagrant với các thiết lập mặc định thư mục đồng bộ và thấy nó rất chậm, lên đến tải trọng 45 giây! Các dự án Symfony nhỏ khác không tệ như vậy nghĩ rằng đó chỉ là Sylius, sau đó tôi đọc rằng các thiết lập thư mục đồng bộ trên Vagrant nhanh hơn rất nhiều với kiểu NFS có sẵn trên các hệ thống Linux, nó giảm từ 40 xuống 4 giây!

Vì vậy, nếu bạn đang sử dụng Vagrant và tìm nó chậm, hãy đảm bảo bạn đặt thư mục đồng bộ hóa thành NFS.

1

Sylius chậm hơn nhiều so với Symfony cả trong chế độ sản xuất và phát triển mặc dù nó được xây dựng trên đầu trang của Symfony. Lý do là ResourceBundle của nó. Tôi chắc chắn có những phương pháp để tăng tốc nó trong sản xuất nhưng dù sao nó là rất chậm trong khi phát triển.

4

Nếu bạn đang ở trên cửa sổ, hãy đảm bảo đặt "realpath_cache_size" của bạn thành ít nhất 5M trong tệp php.ini của bạn, theo khuyến nghị của SensioDistributionBundle. Giống như vậy:

; php.ini 

realpath_cache_size = 5M 

Khi cài đặt Sylius chạy trong môi trường dev, thời gian tải của nó giảm từ ~ 15 s xuống còn 2 giây.

Để giảm thời gian tải của bạn, bạn có thể cân nhắc sử dụng WinCache https://sourceforge.net/projects/wincache/. Tôi sử dụng các cài đặt sau trong khi chạy Sylius với máy chủ web sẵn có của PHP:

; php.ini 

[wincache] 

wincache.enablecli=1 

wincache.filecount=16384 

WinCache có vẻ hoạt động tốt với môi trường dev của Sylius.

0

NFS sẽ giúp bạn trong trường hợp vô lý nhưng bạn vẫn có thể tìm thấy nó chậm trong các dự án lớn hơn. Docker thậm chí còn tệ hơn trên MACOSX. Nếu bạn đang sử dụng Linux tôi nghĩ docker sẽ kick ass cho developemnt. Ngoài ra nếu bạn đang sử dụng PHP < 7 di chuyển đến 7.0 (các phiên bản trên có một số vấn đề với Sylius atm) và bạn sẽ thấy cải thiện rất lớn về hiệu suất ngay cả trong môi trường dev.

Cũng cung cấp thêm RAM cho máy Vagrant của bạn