我有一个rails 4应用程序我在heroku上托管.他们提供了一些有关如何在使用多线程服务器(puma)时管理数据库连接池的具体建议https://devcenter.heroku.com/articles/concurrency-and-database-connections
当我为我的应用程序运行负载测试时出现错误 - 无法连接到数据库.当每个页面被点击时,rails会初始化活动记录,即使我没有在该页面上进行任何查询,也不会引用任何模型.
我的问题是:
如何创建一种白名单(或黑名单),以便不使用数据库连接为这些特定的控制器操作初始化活动记录?在初始化程序中?
理想情况下,我会在heroku(40个连接)上运行更便宜的postgres服务,因为我知道我的应用程序不经常使用数据库.如果流量高达40个连接将开始出错,这对于那些不会在这些请求上使用db的应用程序来说似乎很愚蠢.
我读到了如何禁用整个应用程序的活动记录:禁用ActiveRecord for Rails 4
但是我该如何有选择地启用它呢?这里是否有任何其他不同的性能考虑因素(不要急于加载这些东西或任何其他陷阱)
postgresql activerecord connection-pooling ruby-on-rails heroku
我有一个面向公众的调试脚本,我只想在某些开发盒上运行,我希望通过检测服务器的ip或名称,在这个脚本中以编程方式执行此操作.
所以我对$ _SERVER和$ _SERVER ['HTTP_HOST']的安全性有一个疑问.
从这里:http://shiflett.org/blog/2006/mar/server-name-versus-http-host博客文章我收集到这个var非常不安全,不可信任.
从php中找出你目前所在的盒子的最佳方法是什么?
我想过使用FILE,因为它似乎非常安全,但我不确定我是否从文件路径中获得了足够的信息.
我不一定需要服务器名称,即使ip也没关系.
提前致谢.