gpt4 book ai didi

php - 亚马逊平台上的最佳实践 session 管理

转载 作者:行者123 更新时间:2023-11-29 05:26:08 24 4
gpt4 key购买 nike

我有关于 session 的性能问题,我正在使用以下组件1. MongoDB 作为我的应用数据库2. MySQL 作为我的分析数据库3. Memcache减少对MongoDB的调用

我的应用程序基于 Amazon 服务器、安装在独立实例上的 MongoDB、RDS 上的 MySQL 以及安装在独立实例上的应用程序本身。

我尝试删除 MongoDB 和 MySQL 之间的 session 处理,发现 MongoDB 具有更好的性能,但仍然很慢。

我听说过 Elastic Cache,但我不确定这是合适的解决方案,我想知道Amazon 中 session 处理的最佳实践是什么。

顺便说一句,我的代码是用 PHP 编写的,我的客户端是 flash。

谢谢。

最佳答案

您的问题没有正确答案,因为应用程序中的变量太多,无法声明一个明显的最佳实践。以下是您应该考虑的一些注意事项:

  1. 更仔细地分析现有解决方案的性能,以便在切换到新选项之前更好地了解您遇到的问题的性质。如果正确配置和扩展,MongoDb 在许多情况下应该足够快以满足您的需求。很难解决它在 StackOverflow 上表现不佳的原因(然后可能更适合另一个 StackExchange 网站)。我已经阅读了有关您选择的任何数据库的配置建议。您可能会发现理想设置的成本超出了您的预算。
  2. 如果您管理自己的数据库服务器,则应考虑购买预配置 IOP,以帮助确保磁盘 IO 水平一致。例如,这将显着影响 MongoDb 的性能。
  3. 考虑与预算相比您需要什么样的性能
  4. 尽量减少 session 数据的大小。不幸的是,开发人员通常将其视为廉价的神奇数据桶,并且没有意识到 session 提供程序在一般意义上的工作方式的本质。磁盘 IO 将比 RAM 慢。
  5. 缓存更多,在 session 中放置更少。例如,如果需要,请在 session 中保留用户的绝对基础知识,但例如将详细信息放在 Memcached 中。
  6. 如果使用内存支持的缓存并且缓存失败或重新启动,请确定您需要哪种类型的弹性。如果您选择了一个非磁盘支持的选项并且 session 存储在那里,如果您的用户需要再次登录,他们可能会在此回收期间不高兴。
  7. AWS 团队强烈建议您考虑将 DynamoDb 作为 session 提供程序的后盾。您基本上可以购买所需的性能。它并不便宜,但您购买的是一项非常强大的服务。
  8. 使用 Elastic Cache 可能是一种选择。虽然 Memcached 选项在发生故障(数据丢失)时不提供 session 弹性,但具有主/从和多 AZ 选项的 Redis 选项可能会满足您的需求。

关于php - 亚马逊平台上的最佳实践 session 管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20091728/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com