我有一个Rails 5应用程序,其中包含一个名为Sensor Registry的模型。
目前它有约160,000条记录,但我在尝试显示这些数据时遇到了极低的加载时间。
该应用程序运行在一台双核Intel(R) Xeon(R) CPU E5-2670 v3 @ 2.30GHz和2GB RAM的服务器上。
服务器日志显示如下:
开始GET“/sensor_registries”以在2017-01-10 23:43:41 +0000时从187.220.30.180获取
无法从187.220.30.180呈现控制台!允许网络:127.0.0.1,::1,127.0.0.0/127.255.255.255
ActiveRecord :: SchemaMigration Load(1.2ms)SELECT“schema_migrations”。* FROM“schema_migrations”
作为HTML处理SensorRegistriesController#index
在layouts / application中呈现sensor_registries / index.html.erb
SensorRegistry Load(604.0ms)SELECT“sensor_registries”。* FROM“sensor_registries”
Sensor Load(0.6ms)SELECT“sensors”。* FROM“sensors”WHERE“sensors”。id”IN(49,50,51,52,53,54,55,56,57,58,59,60,65,61,63,64,62)
在layouts / application中呈现sensor_registries / index.html.erb(54663.9ms)
完成200 OK,共计55468ms(视图:54827.7ms | ActiveRecord:611.5ms)
我解决了N + 1问题,但我想知道是否有更多关于数据库查询的优化方法。
无论如何,问题似乎出现在渲染页面的时候,它需要大约54秒才能处理完毕。
有没有办法优化CPU使用?
什么是加速处理和快速向用户显示数据的最佳解决方案?
目前它有约160,000条记录,但我在尝试显示这些数据时遇到了极低的加载时间。
该应用程序运行在一台双核Intel(R) Xeon(R) CPU E5-2670 v3 @ 2.30GHz和2GB RAM的服务器上。
服务器日志显示如下:
开始GET“/sensor_registries”以在2017-01-10 23:43:41 +0000时从187.220.30.180获取
无法从187.220.30.180呈现控制台!允许网络:127.0.0.1,::1,127.0.0.0/127.255.255.255
ActiveRecord :: SchemaMigration Load(1.2ms)SELECT“schema_migrations”。* FROM“schema_migrations”
作为HTML处理SensorRegistriesController#index
在layouts / application中呈现sensor_registries / index.html.erb
SensorRegistry Load(604.0ms)SELECT“sensor_registries”。* FROM“sensor_registries”
Sensor Load(0.6ms)SELECT“sensors”。* FROM“sensors”WHERE“sensors”。id”IN(49,50,51,52,53,54,55,56,57,58,59,60,65,61,63,64,62)
在layouts / application中呈现sensor_registries / index.html.erb(54663.9ms)
完成200 OK,共计55468ms(视图:54827.7ms | ActiveRecord:611.5ms)
我解决了N + 1问题,但我想知道是否有更多关于数据库查询的优化方法。
无论如何,问题似乎出现在渲染页面的时候,它需要大约54秒才能处理完毕。
有没有办法优化CPU使用?
什么是加速处理和快速向用户显示数据的最佳解决方案?