Firefox和Chrome向我的REST API报告约2000毫秒的响应时间(localhost)。数据库在1ms内执行查询。具有相同内容的静态JSON文件在4ms内提供。
一直在哪里? ORDS.war是否正在使用它,是数据库连接时间,是Tomcat使用它还是别的什么?我如何找到根本原因?
更新:Win10。停止Apache服务并尝试从命令行运行catalina.bat,响应时间下降到~30ms。杀了它并尝试再次作为服务运行 - 响应时间始终为~170ms。
我在运行此查询的Tomcat 8.5.16(jre1.8.0_144 x64)上运行了ORDS 3.0.11.180.12.34服务:
SELECT 1 FROM dual
如下
DECLARE
l_handler_id ords_metadata.ords_handlers.id%TYPE := NULL;
l_param_id ords_metadata.ords_parameters.id%TYPE := NULL;
l_module_name ords_metadata.ords_modules.name%type := 'rest';
l_pattern ords_metadata.ords_templates.uri_template%type := 'select_1_from_dual';
l_method ords_metadata.ords_handlers.method%type := 'GET';
BEGIN
ords.define_template (
p_module_name => l_module_name,
p_etag_type => 'QUERY',
p_etag_query => q'~SELECT dbms_random.value(0,1) FROM dual~',
p_pattern => l_pattern
);
ords.define_handler (
p_module_name => l_module_name,
p_pattern => l_pattern,
p_method => l_method,
p_source_type => ords.source_type_collection_item,
p_source => 'SELECT 1 FROM dual'
);
COMMIT;
END;
/