[英]Why is php script slowing down?
我正在研究遷移腳本,它從一個MySQL數據庫中選擇數據並通過doctrine導入另一個MySQL數據庫。 問題是,在每一塊創建的實體之后,我的腳本變慢了。
前100篇文章需要大約5秒鍾導入,接下來100篇文章需要7秒,接下來10秒等等。 這真是個大問題,因為我需要導入約1.5萬篇文章。
我發現php> = 5.3有垃圾收集器更清潔。 所以,當我導入大量文章時,我稱之為gc_collect_cycles(); 從所有實體中清除內存,而不再需要腳本。 腳本不再放慢速度了!
如果您使用的是框架,請檢查它是否有自己的緩存系統。 如果您使用的是doctrine,請關閉SQL logger
/** @var $em EntityManager */
$em = $this->getContainer()->get('doctrine')->getEntityManager();
$em->getConnection()->getConfiguration()->setSQLLogger(null);
然后在導入每個塊后清除doctrine緩存
$em->clear();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.