Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果dev服务器上的对象太少,那么它的数据存储访问速度会非常慢_Java_Google App Engine_Testing_Google Cloud Datastore_Software Design - Fatal编程技术网

Java 如果dev服务器上的对象太少,那么它的数据存储访问速度会非常慢

Java 如果dev服务器上的对象太少,那么它的数据存储访问速度会非常慢,java,google-app-engine,testing,google-cloud-datastore,software-design,Java,Google App Engine,Testing,Google Cloud Datastore,Software Design,这个问题是我先前问的问题的继续 若你们需要在数据存储中有多于几个的对象,你们如何在dev服务器上测试你们的项目 GAE SDK for Java将数据存储保存在内存中的事实简直让我受不了。如果我不能在我的机器上测试,我就不能生成可靠的代码。我想知道其他工程师是如何处理的 目前,我必须从我放入WEB-INF\的.bin文件中预加载后端实例servlet中的数据 然后我在中测试一些代码。以下代码行(使用Objectify) 我有2千个访客和约6万个Anonansower对象本地_db.bin仅为49

这个问题是我先前问的问题的继续

若你们需要在数据存储中有多于几个的对象,你们如何在dev服务器上测试你们的项目

GAE SDK for Java将数据存储保存在内存中的事实简直让我受不了。如果我不能在我的机器上测试,我就不能生成可靠的代码。我想知道其他工程师是如何处理的

目前,我必须从我放入
WEB-INF\
.bin
文件中预加载后端实例servlet中的数据

然后我在中测试一些代码。以下代码行(使用Objectify)

我有2千个访客和约6万个Anonansower对象<代码>本地_db.bin仅为49MB。为什么慢?它可以在生产过程中立即工作(正如我所期望的那样)(目前约有300万访客)

我准备花一些时间写一些类似的东西,但在Java版本的GAE SDK中我没有文件写入权限。我不知道为什么它在Python版本中工作


我卡住了。有什么建议吗?

鉴于App Engine dev服务器似乎使用某种HashMap来存储对象,我猜在协议缓冲区字节或密钥的原始对象上执行了某种哈希处理-这些对象之间是否可能相似(即id、父对象和种类)如果是这样,则可能会导致对象之间的碰撞过多


或者,谷歌可能已经为地图的大小设置了一个默认值,使得它对于您的大小的数据集来说太小。

鉴于App Engine dev服务器似乎使用某种HashMap来存储对象,我猜在协议缓冲区字节或密钥的原始对象上执行了某种散列-这些对象之间是否可能相似(即id、父对象和种类),如果是这样,那么对象之间可能会发生太多冲突


或者,谷歌可能已经为地图的大小设置了一个默认值,使得它对于您的大小的数据集来说太小。

在上面的替代方案中,一个可能的黑客可能是在服务器未运行时,通过编辑本地_db.bin文件中哈希地图的加载因子来手动更改大小?非常有攻击性,可能根本不起作用。在上面的备选方案中,一种可能的攻击是在服务器未运行时,通过编辑本地_db.bin文件中哈希映射的loadfactor来手动更改大小?非常粗糙,可能根本不起作用。
List<AnonAnswer> answers = dao.ofy().query(AnonAnswer.class).ancestor(visitor).list();
public class AnonAnswer extends Answer implements Serializable {
    @Parent Key<Visitor> parent;

    public AnonAnswer() {
    }

    public Key<Visitor> getParent() {
        return parent;
    }

    public void setParent(Key<Visitor> parent) {
        this.parent = parent;
    }
}