谁能告诉我magento如何创建会话??? 我有每天600个用户的magento,会话/ coockie TTL是1周。这些用户中有60%是日复一日的用户。 Sessions目录有285580个会话文件。所有文件的日期不超过1周。
那么我们有600个用户拥有这么多会话文件?
答案 0 :(得分:0)
只是一个理论,表现不佳的僵尸程序正在抓取您的网站(即没有持久性cookie),Magento正在为每个页面视图创建一个新会话。
将您的apache日志与会话文件进行比较以确认,然后禁止/robots.txt文件中的违规僵尸程序。
答案 1 :(得分:0)
Sessions是PHP会话,而不是Magento。
你在这里有几个选择:
为您的服务器使用某种代理,例如Cloudflare(https://www.cloudflare.com/),它具有DDoS保护,因此如果问题是恶意的,这将提供某种形式的保护。
浏览您的apache日志文件并确定流量来源,具体取决于您的Linux发行版,它将在/ var / log / httpd / access_log之类的地方。
我使用这样的东西来获得最后20行,但是如果你找不到它就需要一个grep。
$ tail /var/log/httpd/access_log -n20
然后设置robots.txt以限制机器人,或设置防火墙规则以阻止恶意流量。
Magento允许(并鼓励)使用Redis进行会话和缓存管理。以下local.xml示例将10.0.0.2作为您的数据库服务器,将10.0.0.3作为您的redis服务器。
<?xml version="1.0"?>
<!--
/**
* Magento
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE_AFL.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@magentocommerce.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade Magento to newer
* versions in the future. If you wish to customize Magento for your
* needs please refer to http://www.magentocommerce.com for more information.
*
* @category Mage
* @package Mage_Core
* @copyright Copyright (c) 2008 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
*/
-->
<config>
<global>
<install>
<date><![CDATA[Wed, 18 Jan 2012 06:19:25 +0000]]></date>
</install>
<crypt>
<key><![CDATA[{some crypt key}]]></key>
</crypt>
<disable_local_modules>false</disable_local_modules>
<resources>
<db>
<table_prefix><![CDATA[]]></table_prefix>
</db>
<default_setup>
<connection>
<host><![CDATA[10.0.0.2]]></host>
<username><![CDATA[dbusername]]></username>
<password><![CDATA[dbpassword]]></password>
<dbname><![CDATA[dbschema]]></dbname>
<initStatements><![CDATA[SET NAMES utf8]]></initStatements>
<model><![CDATA[mysql4]]></model>
<type><![CDATA[pdo_mysql]]></type>
<pdoType><![CDATA[]]></pdoType>
<active>1</active>
</connection>
</default_setup>
</resources>
<session_save><![CDATA[db]]></session_save>
<redis_session>
<host>10.0.0.3</host>
<port>6379</port>
<password>redispassword</password>
<timeout>2.5</timeout>
<persistent></persistent>
<db>2</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>
<bot_lifetime>7200</bot_lifetime>
</redis_session>
<cache>
<backend>Mage_Cache_Backend_Redis</backend>
<backend_options>
<server>10.0.0.3</server>
<port>6379</port>
<persistent></persistent>
<database>1</database>
<password>redispassword</password>
<force_standalone>0</force_standalone>
<connect_retries>3</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>
</global>
<admin>
<routers>
<adminhtml>
<args>
<frontName><![CDATA[admin]]></frontName>
</args>
</adminhtml>
</routers>
</admin>
</config>
除此之外,您可以随时查看会话超时情况,看到他们都在一周之内完成,似乎有一些会话清理正在进行,但至于为什么会有这么多会话,它可能来自设置不佳的负载均衡器(在客户端会看到会话/购物车问题),或类似PHP的超时问题。