Locations 插件 🌍

差不多,大约8秒 :slight_smile:

好的,那是服务器端的问题,我对此无能为力。

您能看看它运行时 CPU 和内存的使用情况吗?

您可能需要给它配更强大的硬件?

谢谢 Robert :slight_smile:

大部分时间空闲:

加载时访问该 URL:

我上周刚把硬件升级了一倍,就先这样了 :slight_smile:

再次感谢!

1 个赞

理想情况下,我们应该有一个流式解决方案,可以在您放大时发送集群并深入研究它们。

如果有人想资助此事,我很乐意进行讨论,但我怀疑这绝非易事——我甚至不确定我们是否可以按原样使用 Leaflet 插件……

欢迎提交拉取请求。

1 个赞

第二次查看时性能是否会有所提高?

至少,如果进行了缓存,那将是有意义的……

1 个赞

不,每次都一样 :slight_smile:

1 个赞

好的,所以在此模式下,它根本没有被缓存:astonished:

我不确定我能有多大影响,但它正在使用“Store”,所以我有点惊讶……

1 个赞

没关系,感谢你帮忙查看 :smiley:

恕我直言,每天至少缓存一次这东西很奇怪。

不过我想你一天最多也就看一次,所以无所谓?

请记住,聊天机器人可以告诉你谁在某个地点附近或某个特定用户附近。

我不知道我们的会员一天可能会看多少次地图 :slight_smile:

随便想想,缓存是可能关闭的一个设置吗? :thinking:

使用 Nominatim 提供程序加载约 1800 名成员大约需要 4 秒,加载 /directory_items.json?period=location 查询大约需要 3 秒。

2 个赞

@merefield 我提交了一个 PR,请审核

1 个赞

谢谢,我会查看!

1 个赞

在没有资金支持的情况下,我很难详细研究这个问题,因为你们的网站属于异常情况。

如果你有动力和时间,可以研究一下在你的服务器上运行 /directory_items.json?period=location 时,数据库的查询计划是什么,并与社区分享。

locations_user 表有一个索引,但它可能没有被使用,因为基本上是两个大表被“压缩”在一起,所以在执行 INNER JOIN 时,PSQL 可能会放弃使用索引。

不过,自从 Ember 5 工作以来,查询已经变得更简单了,所以理论上应该更快。

你还可以调查一下该查询需要多长时间。这可能是一个序列化问题,而不是查询性能问题。

我们还可以研究一下如何简化序列化,因为很可能下载了大量不必要的数据。

            "id": 42348,
            "user": {
                "id": 4928,
                "username": "bob",
                "name": "",
                "avatar_template": "/user_avatar/mysite.org/bob/{size}/348_2.png",
                "title": null,
                "trust_level": 2,
                "geo_location": {
                    "lat": "5.5219",
                    "lon": "-0.564",
                    "address": "London, Greater London, England, United Kingdom",
                    "countrycode": "gb",
                    "city": "London",
                    "state": "England",
                    "country": "United Kingdom",
                    "postalcode": "",
                    "boundingbox": [
                        "51.2867601",
                        "51.6918741",
                        "-0.5103751",
                        "0.3340155"
                    ],
                    "type": "administrative"
                }
            }

我们不需要其中的三分之二。我将接受一个 PR 来削减它。或者你可以资助我来研究这个问题。

你可能还想研究一下如何加强你的 PSQL 服务器。你能迁移到一个_快得多_的 VPS 吗?不过,我认为在考虑这一点之前,我们应该对代码的效率进行尽职调查。

如果你准备资助这里的性能调优工作,请告诉我,或者欢迎提交 PR!

我有一个令人困惑的支持请求 :slight_smile:

今天我的汉堡菜单中有两个“Members Map”选项,我不确定第二个选项是如何出现的。

我今天早上重命名了它们,以帮助我追踪它可能来自哪里,因此您将在屏幕截图中看到的 12

这是它的样子:

Members Map1 是我想要保留的,它是通过点击 Customise 添加的:

Locations 插件的设置是将其添加到菜单中。如果我切换它,它会显示为单词 Map,所以这绝对不是这个:

如果我自定义 Discourse 的 Text,并搜索 Members Map,我会得到两个结果。我将它们重命名为 23 以便追踪。

您会在这里看到,是2那个也出现在我的菜单中。

有人知道 js.directory.map.title 是什么吗?它可能会如何出现在我的菜单中?

我唯一的想法是,去年我们曾使用过 Custom Hamburger Menu Links 主题,但在我们切换到新的 Discourse 菜单布局时将其删除了。会不会有什么东西遗留下来了? :thinking: 如果是这样,我会将此帖移到别处 :blush:

请参阅 Locations Plugin 🌍 - #1015 by merefield

同样,欢迎提交拉取请求,或者您可以资助我来改进这一点。

目前的解决方法:不要添加您自己的条目,或使用 CSS 删除当前条目。

2 个赞

啊,对了,至少我知道我没疯 :smiley:

谢谢 Robert!

2 个赞

如果能帮到其他人,我添加了以下内容来隐藏它:

/* 隐藏网站菜单中的第二个用户地图链接 - 参考:https://meta.discourse.org/t/locations-plugin/69742/1037 */
.sidebar-section-link-wrapper {
     .sidebar-section-link {
         &[data-link-name="users map"] {
         display: none;
         }
     }
}
4 个赞

问题:以前,输入的整个地址都会显示在地图图标旁的主题标题下。最近,只显示地图图标,而不显示地址本身。这是最近的更改吗?有没有办法让地址再次显示出来?谢谢!

1 个赞

罗伯特,你有什么计划支持根据所有用户的 IP 地址显示整个站点的地图吗?

1 个赞