1.启用memcache代替Mysql的缓存表处理缓存数据。
2.添加一个opcode缓存可以让 PHP能够重用前面编译过的代码,这样就会跳过解析和编译。常见的opcode缓存有Alternative PHP Cache (http://pecl.php.net/package/APC), eAccelerator (http://eaccelerator.net), XCache (http://trac.lighttpd.net/xcache/)
3.Session放到数据库=》memcache处理。同时利于多个服务器的扩展。
4.PHP允许你控制多长时间清除一次旧的会话记录。Drupal将这一配置放到了它的settings.php文件中:
ini_set('session.gc_maxlifetime', 200000); // 55 hours (in seconds)
5.垃圾收集系统运行周期的默认设置为大约两天多一点。这意味着如果用户两天内没有登录,那么它的会话将被删除。如果你的sessions表正在疯长,那么你将想要增加PHP的会话垃圾收集系统的运行频率。
ini_set('session.gc_maxlifetime', 86400); // 24 hours (in seconds)
ini_set('session.cache_expire', 1440); // 24 hours (in minutes)
当调整session.gc_maxlifetime时,最好也将session.cache_expire设为相同的值,session.cache_expire用来控制缓存的会话页面的存活周期。注意session.cache_expire的值的单位为分钟。
6.管理已验证用户的访问
由于Drupal可以为匿名用户提供缓存了的页面,而匿名用户一般也不需要与Drupal进行交互,你可能想要较少用户登录停留的时间,或者更疯狂一点,一旦用户关闭他们的浏览器就将他们退出。通过调整settings.php文件中的cookie生存周期来做到这一点。在下面这行代码中,我们将它的值改为24小时:
ini_set('session.cookie_lifetime', 86400); // 24 hours (in seconds)
而在这里一旦用户关闭浏览我们就将他们登出。
ini_set('session.cookie_lifetime', 0); // When they close the browser.
settings.php中的默认值(2,000,000秒)允许用户保持登录大约3周时间(在此期间会话垃圾收集系统不会将他们的会话记录从sessions表中删除)。
清除错误报告日志
Drupal有一个内部的日志系统,位于t Administer ➤ Logs ➤ Recent log entries,如果他没有被定期地清除,那么它将会快速的膨胀。这一日志存放在watchdog表中。如果你发现watchdog表的大小引起你的站点运行缓慢,你可以通过在Administer ➤ Site configuration ➤ Error reporting里调整相关配置来减小它的大小。注意,对该设置的修改将在cron下次运行时生效。不能定期的运行cron会使得watchdog表越来越大,从而为系统增加加大的负担。
7.定期运行cron
文章来源:http://www.cnblogs.com/linlu11/archive/2009/11/07/1597793.html