diff options
| author | Paul Buetow <git@mx.buetow.org> | 2021-05-16 18:49:15 +0100 |
|---|---|---|
| committer | Paul Buetow <git@mx.buetow.org> | 2021-05-21 05:11:05 +0100 |
| commit | 66891ce50ed59d19f54ee3765b295dda6f806bf5 (patch) | |
| tree | 24ac49574ee4b745e65bf65b2f838c784c76e9df | |
| parent | 2ce680afe85caed4fe6600f91ea270a26148b00d (diff) | |
fix
| -rw-r--r-- | content/gemtext/gemfeed/2018-06-01-realistic-load-testing-with-ioriot-for-linux.gmi | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/content/gemtext/gemfeed/2018-06-01-realistic-load-testing-with-ioriot-for-linux.gmi b/content/gemtext/gemfeed/2018-06-01-realistic-load-testing-with-ioriot-for-linux.gmi index 7fd95643..53bb4575 100644 --- a/content/gemtext/gemfeed/2018-06-01-realistic-load-testing-with-ioriot-for-linux.gmi +++ b/content/gemtext/gemfeed/2018-06-01-realistic-load-testing-with-ioriot-for-linux.gmi @@ -19,7 +19,7 @@ This text first was published in the german IT-Administrator computer Magazine. => https://www.admin-magazin.de/Das-Heft/2018/06/Realistische-Lasttests-mit-I-O-Riot -I havn't worked on I/O Riot for some time now, but all what is written here is still valid. I am still using I/O Riot to debug I/O issues and pattern once in a while, so by all means the tool is not obsolete yet. The tool even helped to resolve a major production incident at work involving I/O. +I havn't worked on I/O Riot for some time now, but all what is written here is still valid. I am still using I/O Riot to debug I/O issues and pattern once in a while, so by all means the tool is not obsolete yet. The tool even helped to resolve a major production incident at work caused by disk I/O. I am eagerly looking forward to revamp I/O Riot so that it uses the new BPF Linux capabilities instead of plain old Systemtap (or alternatively: Newer versions of Systemtap can also use BPF as the backend I have learned). Also, when I wrote I/O Riot initially, I didn't have any experience with the Go programming language yet and therefore I wrote it in C. Once it gets revamped I might consider using Go instead of C as it would spare me from many segmentation faults and headaches during development ;-). I might also just stick to C for plain performance reasons and just refactor the code dealing with concurrency. @@ -43,7 +43,7 @@ Testing in the production environment: For these reasons, benchmarks are often c For email archiving, Mimecast uses an internally developed microservice, which is operated directly on Linux-based storage systems. A storage cluster is divided into several replication volumes. Data is always replicated three times across two secure data centers. Customer data is automatically allocated to one or more volumes, depending on throughput, so that all volumes are automatically assigned the same load. Customer data is archived on conventional, but inexpensive hard disks with several terabytes of storage capacity each. I/O benchmarking proved difficult for all the reasons mentioned above. Furthermore, there are no ready-made tools for this purpose in the case of self-developed software. The service operates on many block devices simultaneously, which can make the RAID controller a bottleneck. None of the freely available benchmarking tools can test several block devices at the same time without extra effort. In addition, emails typically consist of many small files. Randomized access to many small files is particularly inefficient. In addition to many software adaptations, the hardware and operating system must also be optimized. -Mimecast encourages employees to be innovative and pursue their own ideas in the form of an internal competition, Pet Project. The goal of the pet project I/O Riot was to simplify OS and hardware level I/O benchmarking. The first prototype of I/O Riot was awarded an internal roadmap prize in the spring of 2017. A few months later, I/O Riot was used to reduce write latency in the storage clusters by about 50%. The improvement was first verified by I/O replay on a test system and then successively applied to all storage systems. I/O Riot was also used to resolve a production incident related to disk I/O load. +Mimecast encourages employees to be innovative and pursue their own ideas in the form of an internal competition, Pet Project. The goal of the pet project I/O Riot was to simplify OS and hardware level I/O benchmarking. The first prototype of I/O Riot was awarded an internal roadmap prize in the spring of 2017. A few months later, I/O Riot was used to reduce write latency in the storage clusters by about 50%. The improvement was first verified by I/O replay on a test system and then successively applied to all storage systems. I/O Riot was also used to resolve a production incident caused by disk I/O load. ## Using I/O Riot |
