Closed MichalisDBA closed 1 week ago
Hello @renecannao
We are using ProxySQL latest version 2.7.1.
We found a bug when setting mysql-threshold_resultset_size variable.
mysql-threshold_resultset_size
If you set it to 536870912 bytes (512MB), even a simple query that returns 10 rows, becomes very slow to get the response back.
536870912
If you set the variable again to 536870911 (the above value -1), the same query returns data instantly.
536870911
Every value equals or above 536870912 makes every query to return data very slow to the client.
+----------------------------------------------------------------------+--------------------------------------------------------------------+ | variable_name | variable_value | +----------------------------------------------------------------------+--------------------------------------------------------------------+ | admin-stats_credentials | stats:stats | | admin-stats_mysql_connections | 60 | | admin-stats_mysql_connection_pool | 60 | | admin-stats_mysql_query_cache | 60 | | admin-stats_mysql_query_digest_to_disk | 0 | | admin-stats_system_cpu | 60 | | admin-stats_system_memory | 60 | | admin-telnet_admin_ifaces | (null) | | admin-telnet_stats_ifaces | (null) | | admin-refresh_interval | 2000 | | admin-read_only | false | | admin-vacuum_stats | true | | admin-version | 2.7.1-16-g2726c27 | | admin-cluster_check_interval_ms | 1000 | | admin-cluster_check_status_frequency | 10 | | admin-cluster_mysql_query_rules_diffs_before_sync | 3 | | admin-cluster_mysql_servers_diffs_before_sync | 3 | | admin-cluster_mysql_users_diffs_before_sync | 3 | | admin-cluster_proxysql_servers_diffs_before_sync | 3 | | admin-cluster_mysql_variables_diffs_before_sync | 3 | | admin-cluster_admin_variables_diffs_before_sync | 3 | | admin-cluster_ldap_variables_diffs_before_sync | 3 | | admin-cluster_mysql_query_rules_save_to_disk | true | | admin-cluster_mysql_servers_save_to_disk | true | | admin-cluster_mysql_users_save_to_disk | true | | admin-cluster_proxysql_servers_save_to_disk | true | | admin-cluster_mysql_variables_save_to_disk | true | | admin-cluster_admin_variables_save_to_disk | true | | admin-cluster_ldap_variables_save_to_disk | true | | admin-cluster_mysql_servers_sync_algorithm | 1 | | admin-checksum_mysql_query_rules | true | | admin-checksum_mysql_servers | true | | admin-checksum_mysql_users | true | | admin-checksum_mysql_variables | true | | admin-checksum_admin_variables | true | | admin-checksum_ldap_variables | true | | admin-restapi_enabled | false | | admin-restapi_port | 6070 | | admin-web_enabled | false | | admin-web_port | 6080 | | admin-web_verbosity | 0 | | admin-prometheus_memory_metrics_interval | 61 | | admin-coredump_generation_interval_ms | 30000 | | admin-coredump_generation_threshold | 10 | | admin-ssl_keylog_file | | | admin-admin_credentials | admin:admin;proxysql_cluster:Pe!569nzG@6NCqe@4J;logrotate:3q#Eh4aJ | | admin-cluster_username | proxysql_cluster | | admin-cluster_password | Pe!569nzG@6NCqe@4J | | admin-mysql_ifaces | 0.0.0.0:6032 | | mysql-default_charset | utf8 | | mysql-default_collation_connection | utf8_general_ci | | mysql-shun_on_failures | 5 | | mysql-shun_recovery_time_sec | 10 | | mysql-unshun_algorithm | 0 | | mysql-query_retries_on_failure | 1 | | mysql-client_host_cache_size | 0 | | mysql-client_host_error_counts | 0 | | mysql-connect_retries_delay | 1 | | mysql-connection_delay_multiplex_ms | 0 | | mysql-connection_max_age_ms | 0 | | mysql-connect_timeout_client | 10000 | | mysql-connect_timeout_server_max | 10000 | | mysql-enable_client_deprecate_eof | true | | mysql-enable_server_deprecate_eof | true | | mysql-enable_load_data_local_infile | false | | mysql-eventslog_filename | | | mysql-eventslog_filesize | 104857600 | | mysql-eventslog_default_log | 0 | | mysql-eventslog_format | 1 | | mysql-handle_unknown_charset | 1 | | mysql-free_connections_pct | 20 | | mysql-connection_warming | false | | mysql-session_idle_ms | 1 | | mysql-have_ssl | true | | mysql-log_mysql_warnings_enabled | false | | mysql-monitor_enabled | true | | mysql-monitor_connect_timeout | 600 | | mysql-monitor_ping_max_failures | 3 | | mysql-monitor_ping_timeout | 1000 | | mysql-monitor_aws_rds_topology_discovery_interval | 0 | | mysql-monitor_read_only_max_timeout_count | 3 | | mysql-monitor_replication_lag_group_by_host | false | | mysql-monitor_replication_lag_interval | 10000 | | mysql-monitor_replication_lag_timeout | 1000 | | mysql-monitor_replication_lag_count | 1 | | mysql-monitor_groupreplication_healthcheck_interval | 5000 | | mysql-monitor_groupreplication_healthcheck_timeout | 800 | | mysql-monitor_groupreplication_healthcheck_max_timeout_count | 3 | | mysql-monitor_groupreplication_max_transactions_behind_count | 3 | | mysql-monitor_groupreplication_max_transactions_behind_for_read_only | 1 | | mysql-monitor_galera_healthcheck_interval | 5000 | | mysql-monitor_galera_healthcheck_timeout | 800 | | mysql-monitor_galera_healthcheck_max_timeout_count | 3 | | mysql-monitor_replication_lag_use_percona_heartbeat | | | mysql-monitor_query_interval | 60000 | | mysql-monitor_query_timeout | 100 | | mysql-monitor_slave_lag_when_null | 60 | | mysql-monitor_threads_min | 8 | | mysql-monitor_threads_max | 128 | | mysql-monitor_threads_queue_maxsize | 128 | | mysql-monitor_local_dns_cache_ttl | 300000 | | mysql-monitor_local_dns_cache_refresh_interval | 60000 | | mysql-monitor_local_dns_resolver_queue_maxsize | 128 | | mysql-monitor_wait_timeout | true | | mysql-monitor_writer_is_also_reader | true | | mysql-tcp_keepalive_time | 120 | | mysql-use_tcp_keepalive | true | | mysql-automatic_detect_sqli | false | | mysql-firewall_whitelist_enabled | false | | mysql-firewall_whitelist_errormsg | Firewall blocked this query | | mysql-throttle_connections_per_sec_to_hostgroup | 1000000 | | mysql-multiplexing | true | | mysql-log_unhealthy_connections | true | | mysql-enforce_autocommit_on_reads | false | | mysql-autocommit_false_not_reusable | false | | mysql-autocommit_false_is_transaction | false | | mysql-hostgroup_manager_verbose | 1 | | mysql-binlog_reader_connect_retry_msec | 3000 | | mysql-threshold_query_length | 524288 | | mysql-threshold_resultset_size | 536870912 | | mysql-query_digests_max_query_length | 65000 | | mysql-query_digests_grouping_limit | 3 | | mysql-query_digests_groups_grouping_limit | 10 | | mysql-query_rules_fast_routing_algorithm | 1 | | mysql-throttle_max_bytes_per_second_to_client | 0 | | mysql-throttle_ratio_server_to_client | 0 | | mysql-max_stmts_per_connection | 20 | | mysql-max_stmts_cache | 10000 | | mysql-mirror_max_concurrency | 16 | | mysql-mirror_max_queue_length | 32000 | | mysql-default_max_latency_ms | 1000 | | mysql-query_processor_iterations | 0 | | mysql-query_processor_regex | 1 | | mysql-set_query_lock_on_hostgroup | 1 | | mysql-set_parser_algorithm | 2 | | mysql-reset_connection_algorithm | 2 | | mysql-auto_increment_delay_multiplex | 5 | | mysql-auto_increment_delay_multiplex_timeout_ms | 10000 | | mysql-long_query_time | 1000 | | mysql-query_cache_size_MB | 256 | | mysql-query_cache_soft_ttl_pct | 0 | | mysql-query_cache_handle_warnings | 0 | | mysql-poll_timeout_on_failure | 100 | | mysql-server_capabilities | 569867 | | mysql-keep_multiplexing_variables | tx_isolation,transaction_isolation,version | | mysql-default_authentication_plugin | mysql_native_password | | mysql-kill_backend_connection_when_disconnect | true | | mysql-client_session_track_gtid | true | | mysql-session_idle_show_processlist | true | | mysql-show_processlist_extended | 0 | | mysql-query_digests | true | | mysql-query_digests_lowercase | false | | mysql-query_digests_replace_null | false | | mysql-query_digests_no_digits | false | | mysql-query_digests_normalize_digest_text | false | | mysql-query_digests_keep_comment | false | | mysql-parse_failure_logs_digest | false | | mysql-servers_stats | true | | mysql-default_reconnect | true | | mysql-ssl_p2s_ca | | | mysql-ssl_p2s_capath | | | mysql-ssl_p2s_cert | | | mysql-ssl_p2s_key | | | mysql-ssl_p2s_cipher | | | mysql-ssl_p2s_crl | | | mysql-ssl_p2s_crlpath | | | mysql-init_connect | | | mysql-ldap_user_variable | | | mysql-add_ldap_user_comment | | | mysql-default_session_track_gtids | OFF | | mysql-connpoll_reset_queue_length | 50 | | mysql-min_num_servers_lantency_awareness | 1000 | | mysql-aurora_max_lag_ms_only_read_from_replicas | 2 | | mysql-stats_time_backend_query | false | | mysql-stats_time_query_processor | false | | mysql-query_cache_stores_empty_result | true | | mysql-data_packets_history_size | 0 | | mysql-handle_warnings | 1 | | mysql-evaluate_replication_lag_on_servers_load | 1 | | mysql-proxy_protocol_networks | | | mysql-threads | 4 | | mysql-max_connections | 2048 | | mysql-default_query_delay | 0 | | mysql-default_query_timeout | 36000000 | | mysql-have_compress | true | | mysql-poll_timeout | 2000 | | mysql-default_schema | information_schema | | mysql-stacksize | 1048576 | | mysql-connect_timeout_server | 3000 | | mysql-monitor_history | 600000 | | mysql-monitor_read_only_interval | 1500 | | mysql-monitor_read_only_timeout | 500 | | mysql-ping_interval_server_msec | 120000 | | mysql-ping_timeout_server | 500 | | mysql-commands_stats | true | | mysql-sessions_sort | true | | mysql-connect_retries_on_failure | 10 | | mysql-interfaces | 0.0.0.0:3306 | | mysql-monitor_username | proxysql_monitor | | mysql-monitor_password | zVkJ!L5FGKXlsp3hO5 | | mysql-server_version | 5.7.30 | | mysql-monitor_connect_interval | 2000 | | mysql-monitor_ping_interval | 2000 | | mysql-auditlog_filename | proxysql-1_audit.log | | mysql-auditlog_filesize | 1048576000 | | mysql-max_allowed_packet | 16777216 | | mysql-max_transaction_idle_time | 43200000 | | mysql-max_transaction_time | 43200000 | | mysql-wait_timeout | 28800000 | | mysql-query_digests_track_hostname | true | | mysql-query_digests_max_digest_length | 10240 | | mysql-verbose_query_error | true | +----------------------------------------------------------------------+--------------------------------------------------------------------+
I attach a screen record
https://github.com/user-attachments/assets/f17e2000-f7b9-46ca-8286-fab2abd67bbd
Hello @renecannao
We are using ProxySQL latest version 2.7.1.
We found a bug when setting
mysql-threshold_resultset_size
variable.If you set it to
536870912
bytes (512MB), even a simple query that returns 10 rows, becomes very slow to get the response back.If you set the variable again to
536870911
(the above value -1), the same query returns data instantly.Every value equals or above
536870912
makes every query to return data very slow to the client.