2017-09-07 5 views
0

쿼리를 실행하여 쿼리 결과를 반환 할 때 memsql 클러스터에 하나의 문제가 있습니다. 그러나 15 분이 넘었을 때 데이터 삽입은 읽기와 병렬입니다.Memsql이 쿼리를 실행하는 데 많은 시간이 걸림

나는 디스크 io를 측정했는데 정상이며 디스크는 hdd 디스크입니다.

memsql 및 CPU에 다른 연결이 64 핵심 기계와 활용 15 %도됩니다 없습니다

다음은

Variable_name        | Value                  | 
+----------------------------------------------+------------------------------------------------------------------------------+ 
| aggregator_failure_detection     | ON                   | 
| auto_replicate        | OFF                   | 
| autocommit         | ON                   | 
| basedir          | /data/master-3306               | 
| character_set_client       | utf8                   | 
| character_set_connection      | utf8                   | 
| character_set_filesystem      | binary                  | 
| character_set_results      | utf8                   | 
| character_set_server       | utf8                   | 
| character_sets_dir       | /data/master-3306/share/charsets/           | 
| collation_connection       | utf8_general_ci                | 
| collation_database       | utf8_general_ci                | 
| collation_server        | utf8_general_ci                | 
| columnar_segment_rows      | 102400                  | 
| columnstore_window_size      | 2147483648                 | 
| compile_only         | OFF                   | 
| connect_timeout        | 10                   | 
| core_file         | ON                   | 
| core_file_mode        | PARTIAL                  | 
| critical_diagnostics       | ON                   | 
| datadir          | /data/master-3306/data              | 
| default_partitions_per_leaf     | 16                   | 
| enable_experimental_metrics     | OFF                   | 
| error_count         | 0                   | 
| explain_expression_limit      | 500                   | 
| external_user        |                    | 
| flush_before_replicate      | OFF                   | 
| general_log         | OFF                   | 
| geo_sphere_radius       | 6367444.657120                | 
| hostname          | ****             | 
| identity          | 0                   | 
| kerberos_server_keytab      |                    | 
| lc_messages         | en_US                  | 
| lc_messages_dir        | /data/master-3306/share              | 
| leaf_failure_detection      | ON                   | 
| load_data_max_buffer_size     | 1073741823                 | 
| load_data_read_size       | 8192                   | 
| load_data_write_size       | 8192                   | 
| lock_wait_timeout       | 60                   | 
| master_aggregator       | self                   | 
| max_allowed_packet       | 104857600                 | 
| max_connection_threads      | 192                   | 
| max_connections        | 100000                  | 
| max_pooled_connections      | 4096                   | 
| max_prefetch_threads       | 1                   | 
| max_prepared_stmt_count      | 16382                  | 
| max_user_connections       | 0                   | 
| maximum_memory        | 506602                  | 
| maximum_table_memory       | 455941                  | 
| memsql_id         | **          | 
| memsql_version        | 5.7.2                  | 
| memsql_version_date       | Thu Jan 26 12:34:22 2017 -0800            | 
| memsql_version_hash       | 03e5e3581e96d65caa30756f191323437a3840f0          | 
| minimal_disk_space       | 100                   | 
| multi_insert_tuple_count      | 20000                  | 
| net_buffer_length       | 102400                  | 
| net_read_timeout        | 3600                   | 
| net_write_timeout       | 3600                   | 
| pid_file          | /data/master-3306/data/memsqld.pid           | 
| pipelines_batches_metadata_to_keep   | 1000                   | 
| pipelines_extractor_debug_logging   | OFF                   | 
| pipelines_kafka_version      | 0.8.2.2                  | 
| pipelines_max_errors_per_partition   | 1000                   | 
| pipelines_max_offsets_per_batch_partition | 1000000                  | 
| pipelines_max_retries_per_batch_partition | 4                   | 
| pipelines_stderr_bufsize      | 65535                  | 
| pipelines_stop_on_error      | ON                   | 
| plan_expiration_minutes      | 720                   | 
| port           | 3306                   | 
| protocol_version        | 10                   | 
| proxy_user         |                    | 
| query_parallelism       | 0                   | 
| redundancy_level        | 1                   | 
| reported_hostname       |                    | 
| secure_file_priv        |                    | 
| show_query_parameters      | ON                   | 
| skip_name_resolve       | AUTO                   | 
| snapshot_trigger_size      | 268435456                 | 
| snapshots_to_keep       | 2                   | 
| socket          | /data/master-3306/data/memsql.sock           | 
| sql_quote_show_create      | ON                   | 
| ssl_ca          |                    | 
| ssl_capath         |                    | 
| ssl_cert          |                    | 
| ssl_cipher         |                    | 
| ssl_key          |                    | 
| sync_slave_timeout       | 20000                  | 
| system_time_zone        | UTC                   | 
| thread_cache_size       | 0                   | 
| thread_handling        | one-thread-per-connection             | 
| thread_stack         | 1048576                  | 
| time_zone         | SYSTEM                  | 
| timestamp         | 1504799067.127069               | 
| tls_version         | TLSv1,TLSv1.1,TLSv1.2              | 
| tmpdir          | .                   | 
| transaction_buffer       | 67108864                  | 
| tx_isolation         | READ-COMMITTED                | 
| use_join_bucket_bit_vector     | ON                   | 
| use_vectorized_join       | ON                   | 
| version          | 5.5.8                  | 
| version_comment        | MemSQL source distribution (compatible; MySQL Enterprise & MySQL Commercial) | 
| version_compile_machine      | x86_64                  | 
| version_compile_os       | Linux                  | 
| warn_level         | WARNINGS                  | 
| warning_count        | 0                   | 
| workload_management       | ON                   | 
| workload_management_expected_aggregators  | 1                   | 
| workload_management_max_connections_per_leaf | 1024                   | 
| workload_management_max_queue_depth   | 100                   | 
| workload_management_max_threads_per_leaf  | 8192                   | 
| workload_management_queue_time_warning_ratio | 0.500000                  | 
| workload_management_queue_timeout   | 3600   

답변

0

어떤 생각이 내 varaiables 있습니다

  • 워크로드 프로파일 (https://docs.memsql.com/concepts/v5.8/workload-profiling-overview/)는이 쿼리의 속도를 제한하는 리소스를 이해하는 데 도움을 줄 수 있습니다. CPU가 아니고 디스크 io가 아닌 네트워크 io 또는 무언가라면
  • 쿼리 프로파일 링 (https://docs.memsql.com/sql-reference/v5.8/profile/)은 쿼리 내에서 어떤 연산자가 비싸다는 것을 알려줍니다.
  • 컴퓨터에 64 코어가 있다고 언급했는데 클러스터가 제대로 최적화되지 않았습니까? 확인하려면 memsql-ops memsql-optimize을 실행하십시오.
+0

답장을 보내 주셔서 감사합니다. 네트워크 IO가 내 마스터로 존재하지 않을 수 있으며 리프가 모두 동일한 시스템에 있습니다. 쿼리 프로파일 링을 수행했으며 쿼리를 실행하여 1 분 안에 51M 레코드를 제공했지만 쿼리가 병렬로 읽을 때만 더 많은 시간이 소요됩니다. – user3536104

+0

쿼리가 모두 CPU를 사용하고 있으면 예상 될 수 있습니다. 쿼리가 병렬로 실행될 때 CPU 사용량을 확인하십시오. –

0

잭, 나는 부하 프로파일 링을했고, NETWORK_LOGICAL_SEND_B이

LAST_FINISHED_TIMESTAMP, LOCK_TIME_MS, LOCK_ROW_TIME_MS, ACTIVITY_NAME, NETWORK_LOGICAL_RECV_B, NETWORK_LOGICAL_SEND_B, ACTIVITY_NAME, 데이터베이스 _, PARTITION_ID, 왼쪽 (Q 높을 때 lock_time_ms이 매우 높은 것을 알 수 .query_text 50)

'2017년 9월 11일 10시 41분 31초', '39988', '0', 'InsertSelect_AggregatedHourly_temp_7aug_KING__et_al_c44dc7ab56d56280', '0', '538154753', 'InsertSelect_AggregatedHourly_temp_7aug_KING__et_al_c44dc7ab56d56280', '데이터웨어 하우스' '7', 'SELECT \ n combined. day AS 일, \ n`lineitem '

관련 문제