Testing and Optimization for Internet of Vehicles: IoV Series (IV)

Server Load Balancer Instance Selection and Performance Indicators

A performance sharing Server Load Balancer instance cannot guarantee instance performance indicators, but a performance guaranteed one can provide guaranteed performance. The performance guaranteed Server Load Balancer instance is recommended out of consideration for the high concurrency features of the IoV industry. The performance guaranteed Server Load Balancer instance three key performance indicators:

  1. Max Connection
  2. Max Connection defines the maximum number of connections that a Server Load Balancer instance can bear. When the number of connections on the instance exceeds the maximum number, new connection requests are discarded.
  3. Connection Per Second (CPS)
  4. CPS defines the speed of connection creation. When the connection creation speed exceeds the specified CPS, new connection requests are discarded.
  5. Query Per Second (QPS)
  6. QPS defines the number of HTTP/HTTPS queries (requests) that can be completed in a second. It is a special performance indicator for an L7 listener. When the request speed exceeds the specified QPS, new connection requests are discarded.

Elastic Compute Service Instance Selection and Performance Test

You can select the ECS instance type based on the use case. For details, see the recommendations on the official website at https://www.alibabacloud.com/help/doc-detail/25378.htm

RDS Test and Optimization

The following is a performance test on Alibaba Cloud ApsaraDB for RDS MySQL 5.6.

Test Environment

  1. All tests are performed in Zone B of China East 2 (Shanghai).
  2. ECS series II instances are used in the test.
  3. The instance configuration is octa core, 16 GB memory.
  4. The network type is a classic network.
  5. The image for stress testing is CentOS 7.0 (64-bit).

Test Tools

SysBench is a cross-platform and multithread modular benchmarking tool used to evaluate the performance of core parameters when high-load databases are running in the system. SysBench helps you quickly know the database system performance without complex database benchmark settings and even with no database installed.

Performance Indicators

Transactions per second (TPS) indicates the number of transactions processed by the database per second. The counted transactions are committed transactions.

Test Results

General

MySQL Instance Parameter Optimization Suggestions

Some parameters of ApsaraDB for MySQL instances can be modified on the console. When some important parameters are set inappropriately, the instance performance may be affected or an error may occur. This document provides some suggestions for important parameter optimization. Suggestions highlighted in red are for the optimization of the IoV scenarios featuring high concurrency, large data volume, and many read-write operations.

Elasticsearch Performance Test and Optimization

Elasticsearch is a Lucene-based search and data analysis tool that provides a distributed service. Elasticsearch is an open-source service conforming to the Apache open-source terms and a mainstream enterprise-level search engine.

Write Performance

Test Environment

  1. esrally official data geonames 3.3 GB, with a single 311 B file.
  2. Service simulating log data log 80 GB, with a single 1432 B file.
  1. The number of shards are 6 for all clusters in the test.
  2. The CPU usage, load, and IOUTIL are all approximate values.
  3. The log indicator is tuned based on the asynchronous translog/merge policy for the batch log write test scenarios.
  1. The number of shards is 6 for all clusters in the test.
  2. The number of copies is 0.
  3. The SSD capacity is 1 TB in the cloud for all instances.
  1. The number of shards is 6 for all clusters in the test.
  2. The data samples are all logs in the test.
  3. The SSD capacity is 1 TB in the cloud for all instances.

Query Performance

Test environment

  1. Clusters of three Elasticsearch 5.5.3 instances, respectively of types dual core 4 GB, quad core 16 GB, and 16 core 64 GB, 1 TB SSD instances, are used in stressing test.
  2. esrally stressing test is used.
  3. esrally official data geonames 3.3 GB, with a single file sized 311 B, is used.
  1. The number of shards is 6 for all clusters in the test.
  2. The number of copies is 0.
  3. The query types are term and phrase.

ApsaraDB for HBase Performance Test and Optimization

ApsaraDB for HBase is a stable, reliable, and elastically scalable distributed database service based on NoSQL, compatible with the open-source HBase protocol. The functions available and to be available consist of security, public network access, HBase on OSS, backup and recovery, and cold/hot data separation. The supported storage media are ultra cloud disk, cloud SSD, and local disks. HBase may run on a single host or distributed modeled.

Parameter Optimization Recommendation for an HBase Client Instance

  1. Encapsulate the HBase client in Htable. During a request for the HBase, the AutoFlush parameter (true by default) can be set to false for Htable, indicating that flush is carried out only when the local cache of Htable is full. It improves the write speed perceived by the client.
  2. The number of scan caching parameters can also be configured during encapsulation of the HBase client, to define how many data entries are cached each time from the server for scanning by the user. The default value is 1. You are recommended not to set the value too great if the single entry data value is great.
  3. Scan attribute selection is recommended for scan operations. If only one column family is to be scanned, only the data under the column family is operated during the return. If multiple column families are selected for scanning, many unnecessary column families are returned, generating unnecessary communication traffic.
  4. The WAL flag can be set to false in a put operation to enhance the image performance when the security requirement is not high and inconsistency is allowed for unimportant data. In this case, WAL is not written first during a data write operation, improving its performance.
  5. Enable the bloomfilter. If the bloomfilter is enabled for a read operation, the read performance is improved as a result of exchange of space for write operation time.

HiTSDB Performance Test and Optimization

HiTSDB Edge is a high performance time series database running close to the client.

Test Model

The data model used in the test is based on metrics generated randomly. Timelines metric and tagKey, and tagValue consist of tags, that is, a character string in a fixed length (10 bytes) and an index. Timelines metric and tagKey, and tagValue with real meaning are not used as they cannot cover various real scenarios and the test purpose is to compare HiTSDB with other time series databases horizontally. Testing with timelines without real meanings can generate reliable test results when the test data and software and hardware conditions are maintained consistent for these databases. 8 byte long integer time stamps and 8 byte dual precision integer values are used. The data sample is as follows:

Description of the Statistical Result

Each time before testing, the database service is restarted to avoid impact of the previous operation results on the cache.

Write Performance

One write request for a database may include one or multiple data points. Generally, the more data points a request contains, the higher is the write performance. In the following test, P/R, points/request, indicates the number of data points in a request.

Optimization Recommendation

  1. Write optimization

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Alibaba Cloud

Alibaba Cloud

Follow me to keep abreast with the latest technology news, industry insights, and developer trends. Alibaba Cloud website:https://www.alibabacloud.com