Max*_*son 8 mongodb meteor meteor-accounts kadira
我们的Meteor应用程序的登录响应时间非常慢.当负载接近200 logins/minute时,observeChanges调用变得非常慢:
由于loginWith <service>是Meteor核心的一部分,因此这个问题似乎很难调试.请注意,一旦应用程序达到100-200 logins/min 秒,我们只会看到这些缓慢的响应时间.当应用程序上的负载较少时,observeChanges只需要几毫秒.知道是什么原因引起的吗?
查看您的屏幕截图,您似乎已经定义了一个自定义发布来返回单个用户详细信息。作为故障排除步骤,如果您对此查询的反应性不感兴趣,请尝试禁用反应性:
Meteor.publish('currentUser', function () {
return Users.find({
_id: this.userId
}, {
fields: {
emails: 1,
registered_emails: 1,
services: 1,
isPremium: 1,
},
reactive: false,
});
});
Run Code Online (Sandbox Code Playgroud)
为了更进一步(如果您想让事情保持反应性),您可能需要考虑利用Meteor 1.3 的 poll/diff 调整功能,看看这是否会产生影响。因此,不要依赖 oplog 来进行用户发布,而是尝试针对特定查询禁用它,并调整pollingIntervalMs和pollingThrottleMs选项。所以像这样:
Meteor.publish('currentUser', function () {
return Users.find({
_id: this.userId
}, {
fields: {
emails: 1,
registered_emails: 1,
services: 1,
isPremium: 1,
}
}, {
disableOplog: true,
pollingThrottleMs: 10000,
pollingIntervalMs: 10000,
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
213 次 |
| 最近记录: |