2017-04-19 5 views
1

J'ai créé l'application Rails (version - 5.0.0.1). J'ai utilisé des partiels pour réduire le code répété. J'ai terminé la fonctionnalité, après avoir vu le journal de la console pour une demande particulière, il y avait au moins 100 partiels rendu et il peut aller jusqu'à 200. Est-ce que cela affecte les performances de l'application?Est-ce que le rendu de plusieurs partiels réduit les performances dans l'application Web Rails?

Voici le journal de la console lors du traitement de la demande.

Started GET “/******/98747259/edit" for 127.0.0.1 at 2017-04-19 14:51:50 +0530 
Processing by *********Controller#edit as HTML 
    Parameters: {} 
    Rendering triggers/edit.html.erb within layouts/application 
    Rendered layouts/_navigation_menu.html.erb (18.8ms) 
    Rendered layouts/_flash_errors.html.erb (1.5ms) 
    Rendered triggers/trigger/_campaign.html.erb (5.2ms) 
    Rendered triggers/trigger/_campaign.html.erb (2.3ms) 
    Rendered triggers/trigger/_campaign.html.erb (2.1ms) 
    Rendered triggers/trigger/_campaign.html.erb (1.7ms) 
    Rendered triggers/trigger/_campaign.html.erb (2.0ms) 
    Rendered triggers/trigger/_campaign.html.erb (2.3ms) 
    Rendered triggers/trigger/_campaign.html.erb (1.8ms) 
    Rendered triggers/trigger/_campaign.html.erb (94.5ms) 
    Rendered triggers/trigger/_campaign.html.erb (2.2ms) 
    Rendered triggers/trigger/_campaign.html.erb (2.5ms) 
    Rendered triggers/actions/_add_tag_elements.html.erb (1.5ms) 
    Rendered triggers/actions/_add_tag_elements.html.erb (0.8ms) 
    Rendered triggers/actions/_add_tag_elements.html.erb (0.8ms) 
    Rendered triggers/actions/_tag.html.erb (15.9ms) 
    Rendered triggers/actions/_add_tag_elements.html.erb (0.7ms) 
    Rendered triggers/actions/_add_tag_elements.html.erb (0.8ms) 
    Rendered triggers/actions/_add_tag_elements.html.erb (0.8ms) 
    Rendered triggers/actions/_tag.html.erb (9.2ms) 
    Rendered triggers/actions/_add_campaign_elements.html.erb (2.4ms) 
    Rendered triggers/actions/_add_campaign_elements.html.erb (1.8ms) 
    Rendered triggers/actions/_campaign.html.erb (103.3ms) 
    Rendered triggers/actions/_add_campaign_elements.html.erb (2.0ms) 
    Rendered triggers/actions/_add_campaign_elements.html.erb (1.7ms) 
    Rendered triggers/actions/_campaign.html.erb (7.7ms) 
    Rendered triggers/actions/_add_multiple_campaigns_elements.html.erb (8.3ms) 
    Rendered triggers/actions/_add_multiple_campaigns_elements.html.erb (76.3ms) 
    Rendered triggers/actions/_multiple_campaigns.html.erb (91.8ms) 
    Rendered triggers/actions/_add_campaign_elements.html.erb (1.7ms) 
    Rendered triggers/actions/_add_campaign_elements.html.erb (3.0ms) 
    Rendered triggers/actions/_campaign.html.erb (8.7ms) 
    Rendered triggers/actions/_add_email_elements.html.erb (6.8ms) 
    Rendered triggers/actions/_add_email_elements.html.erb (2.1ms) 
    Rendered triggers/actions/_add_email_elements.html.erb (2.1ms) 
    Rendered triggers/actions/_email.html.erb (18.4ms) 
    Rendered triggers/actions/_add_custom_field_elements.html.erb (1.2ms) 
    Rendered triggers/actions/_custom_field.html.erb (4.3ms) 
    Rendered triggers/actions/_delete_subscriber.html.erb (1.2ms) 
    Rendered triggers/actions/_add_unsubscribe_elements.html.erb (1.4ms) 
    Rendered triggers/actions/_add_unsubscribe_elements.html.erb (0.6ms) 
    Rendered triggers/actions/_unsubscribe.html.erb (12.4ms) 
    Rendered triggers/actions/_modal_for_mail.html.erb (1.0ms) 
    Rendered triggers/_add_new_action.html.erb (1.4ms) 
    Rendered triggers/actions/_unsubscribe_from_campaign.html.erb (3.2ms) 
    Rendered triggers/perform_actions/_apply_or_remove_tags.html.erb (1.0ms) 
    Rendered triggers/perform_actions/_campaign.html.erb (0.9ms) 
    Rendered triggers/perform_actions/_move_from_one_campaign_to_another.html.erb (1.4ms) 
    Rendered triggers/perform_actions/_send_manual_mail.html.erb (2.5ms) 
    Rendered triggers/perform_actions/_set_custom_field.html.erb (0.9ms) 
    Rendered triggers/perform_actions/_record_an_event.html.erb (5.1ms) 
    Rendered layouts/_flash_errors.html.erb (0.6ms) 
    Rendered triggers/perform_actions/_unsubscribe.html.erb (1.4ms) 
    Rendered triggers/perform_actions/_send_notification_mail.html.erb (5.7ms) 
    Rendered triggers/trigger_details/_campaign.html.erb (2.2ms) 
    Rendered triggers/trigger_details/_apply_or_remove_tags.html.erb (1.2ms) 
    Rendered triggers/trigger_details/_form.html.erb (4.3ms) 
    Rendered triggers/trigger_details/_mail.html.erb (4.4ms) 
    Rendered triggers/trigger_details/_clicked_link.html.erb (1.0ms) 
    Rendered triggers/trigger_details/_visited_page.html.erb (0.9ms) 
    Rendered triggers/trigger_details/_update_custom_field.html.erb (0.8ms) 
    Rendered triggers/trigger/_tag.html.erb (1.0ms) 
    Rendered triggers/trigger/_campaign.html.erb (1.7ms) 
    Rendered triggers/trigger/_form.html.erb (2.1ms) 
    Rendered triggers/trigger/_link.html.erb (0.9ms) 
    Rendered triggers/trigger/_page.html.erb (0.8ms) 
    Rendered triggers/trigger/_email.html.erb (2.8ms) 
    Rendered triggers/trigger/_custom_field.html.erb (1.1ms) 
    Rendered triggers/actions/_add_tag_elements.html.erb (0.6ms) 
    Rendered triggers/actions/_tag.html.erb (2.7ms) 
    Rendered triggers/actions/_add_campaign_elements.html.erb (1.7ms) 
    Rendered triggers/actions/_campaign.html.erb (3.6ms) 
    Rendered triggers/actions/_add_multiple_campaigns_elements.html.erb (2.1ms) 
    Rendered triggers/actions/_multiple_campaigns.html.erb (4.1ms) 
    Rendered triggers/actions/_add_email_elements.html.erb (28.6ms) 
    Rendered triggers/actions/_email.html.erb (30.7ms) 
    Rendered triggers/actions/_add_custom_field_elements.html.erb (0.8ms) 
    Rendered triggers/actions/_custom_field.html.erb (3.2ms) 
    Rendered triggers/actions/_add_unsubscribe_elements.html.erb (0.7ms) 
    Rendered triggers/actions/_unsubscribe.html.erb (2.7ms) 
    Rendered triggers/actions/_notification_email.html.erb (0.9ms) 
    Rendered triggers/actions/_delete_subscriber.html.erb (0.5ms) 
    Rendered triggers/actions/_add_tag_elements.html.erb (0.6ms) 
    Rendered triggers/actions/_add_campaign_elements.html.erb (1.7ms) 
    Rendered triggers/actions/_add_multiple_campaigns_elements.html.erb (2.0ms) 
    Rendered triggers/actions/_add_email_elements.html.erb (2.4ms) 
    Rendered triggers/actions/_add_custom_field_elements.html.erb (0.8ms) 
    Rendered triggers/actions/_add_unsubscribe_elements.html.erb (0.7ms) 
    Rendered triggers/actions/_notification_email.html.erb (0.4ms) 
    Rendered triggers/_form.html.erb (804.3ms) 
    Rendered triggers/edit.html.erb within layouts/application (825.7ms) 
Completed 200 OK in 1610ms (Views: 1562.3ms | ActiveRecord: 16.1ms) 

Répondre

2

Il peut ralentir votre application comme le rendu d'une partie prend un certain temps, il peut être très moins de temps, mais il prend un certain temps que le rendu d'une invoque partielle une méthode render donc il y a un deuxième appel de méthode. Il est totalement sur vous, comment vous voulez les performances de l'application car il réduit le code en double et améliorer la lisibilité du code