{"id":12,"date":"2025-05-20T13:34:59","date_gmt":"2025-05-20T13:34:59","guid":{"rendered":"https:\/\/tstorage.eu\/?page_id=12"},"modified":"2025-08-18T12:35:57","modified_gmt":"2025-08-18T12:35:57","slug":"benchmark","status":"publish","type":"page","link":"https:\/\/tstorage.eu\/en\/benchmark\/","title":{"rendered":"Benchmark"},"content":{"rendered":"<h2 class=\"wp-block-heading\" id=\"tstorage-testy-wydajnosciowe-9f7e25cc-c95c-4100-b70d-f3b666bc42da\">TStorage \u2013 Benchmarking<\/h2>\n\n\n\n<p>The page presents a benchmarking analysis of various databases designed for efficient time series processing. As part of the benchmark, we compare.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>TStorage<\/strong><\/li>\n\n\n\n<li><strong>InfluxDBv1<\/strong><\/li>\n\n\n\n<li><strong>TimescaleDB<\/strong><\/li>\n<\/ul>\n\n\n\n<p>The benchmark aims to compare the write and read performance of different databases. The data source is a simulation of server workloads in data center environments. The metrics analyzed include various CPU parameters.\n\nThis test is based on tasks derived from a widely used, publicly available benchmarking suite for time series databases\u2014TSBS (Time Series Benchmark Suite), specifically the \u201ccpu-only\u201d scenario.\n\nMore information about this test can be found here: <a href=\"https:\/\/github.com\/timescale\/tsbs\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/github.com\/timescale\/tsbs<\/a><\/p>\n\n\n\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-12_cecc45-d4\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:40%\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"711\" src=\"https:\/\/tstorage.eu\/wp-content\/uploads\/2025\/06\/hardware_ts-1024x711.png\" alt=\"\" class=\"wp-image-712\" srcset=\"https:\/\/tstorage.eu\/wp-content\/uploads\/2025\/06\/hardware_ts-1024x711.png 1024w, https:\/\/tstorage.eu\/wp-content\/uploads\/2025\/06\/hardware_ts-300x208.png 300w, https:\/\/tstorage.eu\/wp-content\/uploads\/2025\/06\/hardware_ts-768x534.png 768w, https:\/\/tstorage.eu\/wp-content\/uploads\/2025\/06\/hardware_ts-1536x1067.png 1536w, https:\/\/tstorage.eu\/wp-content\/uploads\/2025\/06\/hardware_ts-18x12.png 18w, https:\/\/tstorage.eu\/wp-content\/uploads\/2025\/06\/hardware_ts.png 1602w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\">Benchmarking Hardware<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Each test was performed on the same hardware:<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>hard drive with operating system: 2TB HDD, SATA 6Gb\/s, 512n, 7,200 RPM, 3.5-inch<\/li>\n\n\n\n<li>hard drives dedicated to the database and record source: 4TB HDD, SATA 6Gb\/s, 512n, 7,200 RPM, 3.5-inch<\/li>\n\n\n\n<li>memory: 8 modules of 16GB RDIMM, 5600\u202fMT\/s<\/li>\n\n\n\n<li>processor: Intel Xeon Silver 4514Y, 2\u202fGHz, 16 cores \/ 32 threads, 16\u202fGT\/s, 30\u202fMB cache, Turbo, Hyper-Threading, 150W, DDR5-4400 support<\/li>\n\n\n\n<li>network card: Broadcom 57504 Quad-Port 10\/25\u202fGbE, SFP28, OCP 3.0 NIC<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-12_a4a7d4-67\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"przygotowanie-baz-danych-do-testow-abe1b701-78c6-4faa-ada4-2a90fb1b2a9b\">Database Preparation for Benchmarking:<\/h2>\n\n\n\n<p>In each case, the test was run locally, using one disk for the operating system and test execution, one disk for storing test data, and one dedicated exclusively to the tested database. If the database utilized additional logging mechanisms, it was permitted to generate logs on the operating system disk. The file system used was XFS for the test data and database disks, and ext4 for the operating system disk. The operating system was Debian 12.<\/p>\n\n\n\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-12_8bf924-fd\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><\/div><\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"262\" src=\"https:\/\/tstorage.eu\/wp-content\/uploads\/2025\/06\/timescale-1-1024x262.png\" alt=\"\" class=\"wp-image-744\" style=\"object-fit:contain;width:260px;height:80px\" srcset=\"https:\/\/tstorage.eu\/wp-content\/uploads\/2025\/06\/timescale-1-1024x262.png 1024w, https:\/\/tstorage.eu\/wp-content\/uploads\/2025\/06\/timescale-1-300x77.png 300w, https:\/\/tstorage.eu\/wp-content\/uploads\/2025\/06\/timescale-1-768x196.png 768w, https:\/\/tstorage.eu\/wp-content\/uploads\/2025\/06\/timescale-1-18x5.png 18w, https:\/\/tstorage.eu\/wp-content\/uploads\/2025\/06\/timescale-1.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"timescaledb-c74e79eb-d307-411f-b9d5-6a387d4251a1\"><a><\/a><strong>TimescaleDB:<\/strong><\/h3>\n\n\n\n<p>To prepare the TimescaleDB database, we follow the official installation guide for the latest version, available here:<a href=\"https:\/\/docs.timescale.com\/self-hosted\/latest\/install\/installation-linux\/\"> <\/a><a href=\"https:\/\/docs.timescale.com\/self-hosted\/latest\/install\/installation-linux\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.timescale.com\/self-hosted\/latest\/install\/installation-linux\/<\/a><\/p>\n\n\n\n<p>The TimescaleDB configuration was modified so that the folders containing the ingested data were located on a separate disk, and the database owner was set to the user \u201ctstorage.\u201d To ensure that the running instance complies with the recommendations of the TimescaleDB developers, the timescaledb-tune tool was additionally executed to optimize configuration parameters accordingly.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"262\" src=\"https:\/\/tstorage.eu\/wp-content\/uploads\/2025\/06\/Influxdb_logo.svg_-2-1024x262.png\" alt=\"\" class=\"wp-image-745\" style=\"object-fit:contain;width:200px;height:80px\" srcset=\"https:\/\/tstorage.eu\/wp-content\/uploads\/2025\/06\/Influxdb_logo.svg_-2-1024x262.png 1024w, https:\/\/tstorage.eu\/wp-content\/uploads\/2025\/06\/Influxdb_logo.svg_-2-300x77.png 300w, https:\/\/tstorage.eu\/wp-content\/uploads\/2025\/06\/Influxdb_logo.svg_-2-768x196.png 768w, https:\/\/tstorage.eu\/wp-content\/uploads\/2025\/06\/Influxdb_logo.svg_-2-18x5.png 18w, https:\/\/tstorage.eu\/wp-content\/uploads\/2025\/06\/Influxdb_logo.svg_-2.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"influxdb-232ddd8b-f651-4215-b678-814eaa93accc\"><a><\/a><strong>InfluxDB:<\/strong><\/h3>\n\n\n\n<p>InfluxDB was installed using the official packages available in the Debian 12 package repository, version \u201c1.6.7~rc0-1+b13.\u201d The InfluxDB configuration was modified to place the folders containing the ingested data on a separate disk.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"507\" height=\"126\" src=\"https:\/\/tstorage.eu\/wp-content\/uploads\/2025\/05\/tstorage_logo-1.png\" alt=\"\" class=\"wp-image-748\" style=\"object-fit:contain;width:170px;height:80px\" srcset=\"https:\/\/tstorage.eu\/wp-content\/uploads\/2025\/05\/tstorage_logo-1.png 507w, https:\/\/tstorage.eu\/wp-content\/uploads\/2025\/05\/tstorage_logo-1-300x75.png 300w, https:\/\/tstorage.eu\/wp-content\/uploads\/2025\/05\/tstorage_logo-1-18x4.png 18w\" sizes=\"auto, (max-width: 507px) 100vw, 507px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"tstorage-657c7fe9-2f6e-4f82-b4b6-c412fb320f22\"><a><\/a><strong>TStorage:<\/strong><\/h3>\n\n\n\n<p>TStorage is installed based on the latest version available in the code repositories. It has been configured so that all of its services run on a single host, with data written to a single disk.<\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-12_4cd37f-15\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"przebieg-testu-114fab78-ad4e-41e2-80cf-382033d64833\">Test Procedure<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>The test begins with the preparation of input data in a format compatible with the ingestion mechanisms of the respective database. The data, once ready for transmission, is then compressed using the gzip utility.<\/p>\n\n\n\n<p>Input data for TimescaleDB and InfluxDB is generated using scripts provided by the TSBS benchmark. The same pseudorandom seed value is used for each data generation process to ensure result consistency.\n\nDetailed data description:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>pseudorandom number generator seed = 123<\/li>\n\n\n\n<li>data range \u2013 2 years (2016-01-01 00:00:00 to 2018-01-01 00:00:00)<\/li>\n\n\n\n<li>number of metrics (counters) \u2013 30,000<\/li>\n\n\n\n<li>interval between consecutive measurements \u2013 5 minutes<\/li>\n\n\n\n<li>number of distinct values per measurement \u2013 10<\/li>\n\n\n\n<li>measurement value format \u2013 integer.<\/li>\n<\/ul>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>For TStorage, the input data is prepared by converting the TimescaleDB data format into a format compatible with the reference TStorage client, using a dedicated conversion script<\/p>\n\n\n\n<p>In addition to the described numerical values, TSBS generators also produce additional metadata related to the measurements. This metadata is ignored when inserting records into TStorage, as it is not used during the test. As a time-series database, TStorage does not store redundant metadata associated with records.<\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-12_fade1d-6c\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"format-danych-przygotowany-dla-klientow-3acf69af-9669-4d4b-8b15-367bf910bd16\">Client-Ready Data Format<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h3 class=\"wp-block-heading\"><strong>InfluxDB Database<\/strong><\/h3>\n\n\n\n<p class=\"has-background has-fira-code-font-family has-small-font-size\" style=\"background-color:#62decb17\">cpu,hostname=host_0,region=eu-central-1,datacenter=eu-central-1a,rack=6,os=Ubuntu15.10,arch=x86,team=SF,service=19,service_version=1,service_environment=test usage_user=58i,usage_system=2i,usage_idle=24i,usage_nice=61i,usage_iowait=22i,usage_irq=63i,usage_softirq=6i,usage_steal=44i,usage_guest=80i,usage_guest_nice=38i 1451606400000000000<br>cpu,hostname=host_1,region=us-west-1,datacenter=us-west-1a,rack=41,os=Ubuntu15.10,arch=x64,team=NYC,service=9,service_version=1,service_environment=staging usage_user=84i,usage_system=11i,usage_idle=53i,usage_nice=87i,usage_iowait=29i,usage_irq=20i,usage_softirq=54i,usage_steal=77i,usage_guest=53i,usage_guest_nice=74i 1451606400000000000<br>cpu,hostname=host_2,region=sa-east-1,datacenter=sa-east-1a,rack=89,os=Ubuntu16.04LTS,arch=x86,team=LON,service=13,service_version=0,service_environment=staging usage_user=29i,usage_system=48i,usage_idle=5i,usage_nice=63i,usage_iowait=17i,usage_irq=52i,usage_softirq=60i,usage_steal=49i,usage_guest=93i,usage_guest_nice=1i 1451606400000000000<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h3 class=\"wp-block-heading\"><strong>TimescaleDB Database<\/strong><\/h3>\n\n\n\n<p class=\"has-background has-fira-code-font-family has-small-font-size\" style=\"background-color:#62decb17\">tags,hostname string,region string,datacenter string,rack string,os string,arch string,team string,service string,service_version string,service_environment string<br>cpu,usage_user,usage_system,usage_idle,usage_nice,usage_iowait,usage_irq,usage_softirq,usage_steal,usage_guest,usage_guest_nice<br>tags,hostname=host_0,region=eu-central-1,datacenter=eu-central-1a,rack=6,os=Ubuntu15.10,arch=x86,team=SF,service=19,service_version=1,service_environment=test<br>cpu,1451606400000000000,58,2,24,61,22,63,6,44,80,38<\/p>\n<\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>TStorage Database<\/strong><\/h3>\n\n\n\n<p>The CID value was set to the host ID from the corresponding hostname column. Both MID and MOID were set to 0, as each host generates only one record every 5 minutes.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<p class=\"has-background has-fira-code-font-family has-small-font-size\" style=\"background-color:#62decb17\">0 0 0 473299200000000000 0x0000003a00000002000000180000003d000000160000003f000000060000002c0000005000000026<br>1 0 0 473299200000000000 0x000000540000000b00000035000000570000001d00000014000000360000004d000000350000004a<br>2 0 0 473299200000000000 0x0000001d00000030000000050000003f00000011000000340000003c000000310000005d00000001<br>3 0 0 473299200000000000 0x0000000800000015000000590000004e0000001e0000005100000021000000180000001800000052<br>4 0 0 473299200000000000 0x000000020000001a0000004000000006000000260000001400000047000000130000002800000036<br>5 0 0 473299200000000000 0x0000004c000000280000003f0000000700000051000000140000001d00000037000000140000000f<\/p>\n<\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"wrzucanie-rekordow-c1b85f27-2d59-449f-85bb-b0560066c04f\"><strong><strong>Writing Records<\/strong><\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>we clear the contents of the data storage disk to ensure identical starting conditions<\/li>\n\n\n\n<li>we start (or launch) the tested database<\/li>\n\n\n\n<li>we start the timing measurement using the system tool \"time\"<\/li>\n\n\n\n<li>we run the data-writing script (tools provided by TSBS for TimescaleDB and InfluxDB; a custom tool for inserting data into TStorage)<\/li>\n\n\n\n<li>we stop the timing measurement<\/li>\n<\/ul>\n\n\n\n<p>Next, we compare the obtained results. In each case, we insert 6,315,840,000 records, with each record storing 10 measurements. The metric used for comparison is the average number of records written per second.<\/p>\n\n\n\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-12_40a992-b3\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><em><strong>Table 1: Results of record insertion into the selected database.<\/strong><\/em><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><\/th><th>TStorage&nbsp;&nbsp;<\/th><th>TimescaleDB<\/th><th>InfluxDB<\/th><\/tr><\/thead><tbody><tr><td>Record Write Speed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/td><td>1,571,104 records\/s&nbsp;&nbsp;<\/td><td>269,217 records\/s<\/td><td>414,425 records\/s<\/td><\/tr><tr><td>Write Time<\/td><td>67 min<\/td><td>391 min<\/td><td>254 min&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/tstorage.eu\/wp-content\/uploads\/2025\/07\/schm1_en.png\" alt=\"\" class=\"wp-image-911\" style=\"object-fit:cover\"\/><\/figure>\n\n\n\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-12_b0763e-b3\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Data Retrieval<\/h2>\n\n\n\n<p>We prepared three test scenarios for data retrieval, each executed on a single thread. Within each scenario, we prepare 100 random queries. To improve result consistency across different data caching systems, each query is repeated, and the execution time of the second query is measured. Execution times are recorded within the scripts performing the tasks. To minimize the influence of external factors on test results, query outputs are not displayed on the screen (although each tool used provides this option to verify result consistency).<\/p>\n\n\n\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-12_992326-74\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"scenariusze-testowe-47ad902c-0f53-4b05-86f1-d5b2c920f649\">Test Scenarios<\/h2>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>A single query consists of randomly selecting one host, one metric, and a 12-hour time range, then retrieving all measurements within that period.* &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/li>\n\n\n\n<li>A single query involves randomly selecting one host and a 12-hour time range, then retrieving all measurements for each metric within that period.*<\/li>\n\n\n\n<li>We randomly select a 12-hour time range and one measurement value. We calculate the average measurement value for hourly intervals across all counters (separately for each counter).<\/li>\n<\/ol>\n\n\n\n<p class=\"has-accent-4-color has-text-color has-link-color has-small-font-size wp-elements-8edc45fbd7f65b39d2d6449b4ddf5cbc\">* A subset of the TSBS scenarios assumes that for the retrieved counter values, the maximum value will be calculated for each interval. To simulate record retrieval without aggregation, the intervals between measurements were selected so that there is only one value in each interval.<\/p>\n\n\n\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-12_e42d7c-b9\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"wyniki-testow-d2403c10-f98f-4726-862f-f9f2e21b91d7\">Test Results<\/h2>\n\n\n\n<p><em>Table 2: Average execution time of test queries for individual databases.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-table is-style-regular\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Scenario Number<\/th><th class=\"has-text-align-left\" data-align=\"left\">TStorage<\/th><th class=\"has-text-align-left\" data-align=\"left\">TimescaleDB<\/th><th class=\"has-text-align-left\" data-align=\"left\">InfluxDB<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">1<\/td><td class=\"has-text-align-left\" data-align=\"left\">1ms<\/td><td class=\"has-text-align-left\" data-align=\"left\">135ms<\/td><td class=\"has-text-align-left\" data-align=\"left\">2ms&nbsp;&nbsp;&nbsp;&nbsp;<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">2<\/td><td class=\"has-text-align-left\" data-align=\"left\">1ms&nbsp;&nbsp;&nbsp;&nbsp;<\/td><td class=\"has-text-align-left\" data-align=\"left\">176ms&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/td><td class=\"has-text-align-left\" data-align=\"left\">6.5ms&nbsp;<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">3<\/td><td class=\"has-text-align-left\" data-align=\"left\">397ms<\/td><td class=\"has-text-align-left\" data-align=\"left\">2090ms&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/td><td class=\"has-text-align-left\" data-align=\"left\">4277ms&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-12_a32080-e7\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Summary<\/h2>\n\n\n\n<p>In our tests, we compared the performance of three databases in terms of writing and reading records generated by a large number of counters. In both cases, we compared single-node versions writing to a single disk. The tests showed that regardless of whether the user prioritizes data writing or reading, TStorage proved to be the preferred solution for the defined workload scenarios.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/tstorage.eu\/wp-content\/uploads\/2025\/07\/schm2_en.png\" alt=\"\" class=\"wp-image-909\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/tstorage.eu\/wp-content\/uploads\/2025\/07\/schm3_en.png\" alt=\"\" class=\"wp-image-912\"\/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/tstorage.eu\/wp-content\/uploads\/2025\/07\/schm4_en.png\" alt=\"\" class=\"wp-image-913\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/tstorage.eu\/wp-content\/uploads\/2025\/07\/schm5_en.png\" alt=\"\" class=\"wp-image-914\" style=\"width:967px;height:auto\"\/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>TStorage \u2013 testy wydajno\u015bciowe Na stronie zawarto opis testu wydajno\u015bci r\u00f3\u017cnych baz danych zaprojektowanych do efektywnego przetwarzania szereg\u00f3w czasowych. W ramach testu por\u00f3wnujemy: Test ma na celu por\u00f3wnanie wydajno\u015bci zapisu, a tak\u017ce odczytu danych. \u0179r\u00f3d\u0142em danych jest symulacja pracy serwer\u00f3w znajduj\u0105cych si\u0119 w centrach danych. Wielko\u015bci\u0105 odczytow\u0105 s\u0105 r\u00f3\u017cne parametry procesora. Test ten jest przygotowany [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"bBlocksCursorData":"","advgb_blocks_editor_width":"","advgb_blocks_columns_visual_guide":"","footnotes":""},"class_list":["post-12","page","type-page","status-publish","hentry"],"coauthors":[],"author_meta":{"author_link":"https:\/\/tstorage.eu\/en\/author\/robert-trzcinski\/","display_name":"Robert Trzci\u0144ski"},"relative_dates":{"created":"Posted 1 year ago","modified":"Updated 10 months ago"},"absolute_dates":{"created":"Posted on May 20, 2025","modified":"Updated on August 18, 2025"},"absolute_dates_time":{"created":"Posted on May 20, 2025 1:34 pm","modified":"Updated on August 18, 2025 12:35 pm"},"featured_img_caption":"","featured_img":false,"series_order":"","_links":{"self":[{"href":"https:\/\/tstorage.eu\/en\/wp-json\/wp\/v2\/pages\/12","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tstorage.eu\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tstorage.eu\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tstorage.eu\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/tstorage.eu\/en\/wp-json\/wp\/v2\/comments?post=12"}],"version-history":[{"count":51,"href":"https:\/\/tstorage.eu\/en\/wp-json\/wp\/v2\/pages\/12\/revisions"}],"predecessor-version":[{"id":912,"href":"https:\/\/tstorage.eu\/en\/wp-json\/wp\/v2\/pages\/12\/revisions\/912"}],"wp:attachment":[{"href":"https:\/\/tstorage.eu\/en\/wp-json\/wp\/v2\/media?parent=12"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}