Python 我可以在App Engine上的查找表中存储多少数据而不会遇到性能问题?

Python 我可以在App Engine上的查找表中存储多少数据而不会遇到性能问题?,python,google-app-engine,scalability,lookup-tables,Python,Google App Engine,Scalability,Lookup Tables,目前,我在数据存储中存储了约30000个实体(约10MB)。数据永远不会更改,除非我以管理员身份更新数据。为了避免使用bulkloader的麻烦,我正在考虑将所有这些数据存储在python dict中 有人试过这个吗?我可以通过在应用程序引擎上的dict中存储多少数据来避免新实例的极坏的启动时间?在App Engine的内存中存储30k对象还有其他缺点吗?将所有静态数据保存在内存中是提高性能的好主意。毫不奇怪,你能在内存中存储多少数据取决于你有多少内存 AppEngine允许您选择在实例上放置多

目前,我在数据存储中存储了约30000个实体(约10MB)。数据永远不会更改,除非我以管理员身份更新数据。为了避免使用bulkloader的麻烦,我正在考虑将所有这些数据存储在python dict中


有人试过这个吗?我可以通过在应用程序引擎上的dict中存储多少数据来避免新实例的极坏的启动时间?在App Engine的内存中存储30k对象还有其他缺点吗?

将所有静态数据保存在内存中是提高性能的好主意。毫不奇怪,你能在内存中存储多少数据取决于你有多少内存

AppEngine允许您选择在实例上放置多少内存,因此限制取决于您的选择。目前,默认值为128MB,最多可配置1024MB


它们是否都需要一次存储在内存中,或者您是否可以仅对请求的实体使用memcache?在每个请求中,只会使用少量。将它们保存在python dict中的主要目的是为了方便通过应用程序更新而不是bulkloader上传来更新它们。我想问的是这种方法的缺点,以及(大致上)这些缺点的程度。我预计加速时间会更糟,但会是2秒而不是1秒吗?我可以接受。另一方面,如果是一分钟,也许不是。取决于数据。尝试一下,看看会发生什么。或者将其作为pickle存储在gcs中,然后在实例启动时,或者在收到某个web请求时,将其加载到内存中,以使其缓存无效。这样,您就不必进行应用程序更新。