簡體   English   中英

為什么php腳本會變慢?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM