Grails Spring Security 启动缓慢

Posted

技术标签:

【中文标题】Grails Spring Security 启动缓慢【英文标题】:Grails Spring Security Slow Startup 【发布时间】:2011-07-08 04:20:04 【问题描述】:

环境:

Intel Core 2 duo, 3 gig RAM
Ubuntu 9.10, Grails 1.3.5, Spring security plugin 1.1.2
JVM Parameters : -Xms512m  -Xmx1024m  -XX:MaxPermSize=512m  

启动使用 grails spring 安全插件的应用程序非常慢。我发现这个报告了here。解决方法建议设置匿名密钥,因为这似乎是由于SecureRandom - “使用手动设置密钥”而减速。

我在Config.groovy 中设置了这个没有用。

grails.plugins.springsecurity.anonymous.key="someuniquekey"

其中一个数字用于someuniquekey。仍然需要 forever(约 30 秒)才能通过 Configuring Spring Security... 消息。

有什么想法吗?我是把它设置在错误的地方还是错误的方式?

谢谢, 史蒂夫

【问题讨论】:

另外两个关于此的问题:1) 您使用的是什么计算机(CPU、RAM、操作系统)和 2) 您是否使用任何 JVM 内存参数? 你真的应该把插件升级到 1.1.2。升级 Grails 版本也是一个好主意,因为它有一些麻烦的错误会在以后困扰您,具体取决于您的开发程度以及您对升级的控制程度。 问题已更新,包含更多环境信息。 JVM 参数没什么特别的,只是一些普通的内存。我升级到 spring security 1.1.2,但没有看到任何明显的启动改进。可能无论如何都需要这样做。感谢您的建议! 【参考方案1】:

按 22 个其他属性

http://burtbeckwith.github.com/grails-spring-security-core/docs/manual/guide/single.html

关键应该是

grails.plugins.springsecurity.anon.key

但是我试了一下,设置后竟然没有变化。

【讨论】:

非常感谢您的回答!这回答了如何设置密钥,但我也不一定看到启动改进。我确实注意到我设置为 false 的另一个属性“活动”,它确实大大缩短了启动时间。我注意到的另一件事是模式生成需要一些时间。删除 DataSource 中的“dbCreate”也有助于加快启动速度。当然,这些属性需要为生产正确设置。但至少有一个可接受的开发解决方案。再次感谢!史蒂夫【参考方案2】:

您可以在 Config.groovy 中设置下一个变量

environments.development.searchable.bulkIndexOnStartup = false

【讨论】:

【参考方案3】:

我发现我的问题与 Spring Security 并不完全相关, 因为我安装了 Searchable,并且在数据库中有一些数据, 启动缓慢主要是由于启动时的可搜索构建索引。

您可以在此处找到可搜索启动设置的解决方案,

http://www.grails.org/Searchable+Plugin+-+FAQ

【讨论】:

以上是关于Grails Spring Security 启动缓慢的主要内容,如果未能解决你的问题,请参考以下文章

Grails Spring Security Core无法登录

Grails Spring Security Core 创建新用户

Grails - 卸载 Spring Security Core

Grails - grails-spring-security-rest - 无法从 application.yml 加载 jwt 机密

grails-spring-security-rest 插件和悲观锁定

Grails + spring-security-core:用户登录后如何分配角色?