2017-11-02 10 views
0

Redisのダウンタイムがありました。 Can't save in background: fork: Cannot allocate memory です。私たちのWebはしばらくの間動作しませんでした。Redisがある場合、Magentoをディスクファイルキャッシュにフォールバックするように正しく設定したいと思います。何が最善の選択肢ですか? 私たちは、Magentoの1.9.3.2とRedisの3.2.10をrunnigしているが、我々のアプリは/ etc/local.xmlキャッシュとセッション設定は次のとおりです。Magento REDISサーバーのフェールオーバーで実行時にRedis Cachingを無効にする方法

<cache> 
    <backend>Cm_Cache_Backend_Redis</backend> 
    <backend_options> 
    <server>127.0.0.1</server> 
    <port>6379</port> 
    <persistent></persistent> 
    <database>12</database> 
    <password></password> 
    <force_standalone>0</force_standalone> 
    <connect_retries>1</connect_retries> 
    <read_timeout>10</read_timeout> 
    <automatic_cleaning_factor>0</automatic_cleaning_factor> 
    <compress_data>1</compress_data> 
    <compress_tags>1</compress_tags> 
    <compress_threshold>20480</compress_threshold> 
    <compression_lib>gzip</compression_lib> 
    <use_lua>0</use_lua> 
    </backend_options> 
</cache> 

<session_save>db</session_save> 
<redis_session> 
    <host>127.0.0.1</host> 
    <port>6379</port> 
    <password></password> 
    <timeout>2.5</timeout> 
    <persistent></persistent> 
    <db>13</db> 
    <compression_threshold>2048</compression_threshold> 
    <compression_lib>gzip</compression_lib> 
    <log_level>1</log_level> 
    <max_concurrency>6</max_concurrency> 
    <break_after_frontend>5</break_after_frontend> 
    <break_after_adminhtml>30</break_after_adminhtml> 
    <first_lifetime>600</first_lifetime> 
    <bot_first_lifetime>60</bot_first_lifetime> 
    <bot_lifetime>7200</bot_lifetime> 
    <disable_locking>0</disable_locking> 
    <min_lifetime>60</min_lifetime> 
    <max_lifetime>2592000</max_lifetime> 
</redis_session> 

すべての提案を歓迎いたします。

答えて

0

これを修正するには、再割り当てにさらに多くのメモリを割り当てる必要があります。また、キャッシュとセッションを、異なるポートで動作する2つの異なるRedisプロセスに分割します。 Magentoキャッシュには永続的なキャッシュは必要ありませんが、すべてのキーには多くのメモリが必要です。また、redis設定のEvictionポリシーも確認してください。 https://redis.io/topics/lru-cache

_initCache

をあなたは汚いフォールバックにまだ興味を持って、あなたはこの方法で

アプリ/コード/コア/メイジ/コア/モデル/ App.php

$this->_cache = Mage::getModel('core/cache', $options); 

+  if ($this->_cache) { 
+    try { 
+      $this->_cache->load('somekey'); 
+    } catch (Exception $e) { 
+      Mage::getConfig()->setNode('global/cache/backend', 'file'); 
+      return $this->getCache(); 
+    } 
+  } 

をMage_Core_Model_Appにパッチを当てることができれば

関連する問題