WalB: Real-time and Incremental Backup System for Block Devicesuchan_nos
WalB is an open-source backup system that consists of block devices, called WalB devices, and userland utilities, called WalB tools. A WalB device records write-I/Os. WalB tools extracts them to create restorable snapshots in an incremental manner.
Compared with dm-snap and dm-thin, WalB is designed to achieve small I/O latency overhead and short backup time. We conducted an experiment to take an incremental backup of a volume under random write workload. The result confirms those advantages of WalB.
Cybozu cloud platform, which has 500TB volumes and processes 25TB write-I/Os per day, is required to achieve (1) stable workload performance without I/O spikes which may affect application user experience and (2) short backup interval specified in our service level objective. WalB satisfies the requirements, while dm-snap is not enough to and dm-thin is not expected to.
Router is one of the most important feature or component in Web application framework,
ant it is also one of the performance bottlenecks of framework.
In this session, I'll show you how to make router much faster than ever.
The document discusses code changes and tests related to adding pagination parameters to an API for retrieving books from a database. It includes:
1) A test failure when trying to access books with a 'size' parameter to limit results.
2) Comments and code changes to the book service and API to support limiting results by adding a 'limit' parameter.
3) Logs and queries showing the updated SQL statement with a limit clause.
What is wrong on Test::More? / Test::Moreが抱える問題点とその解決策kwatch
The document discusses issues with the Test::More module for testing in Perl and proposes solutions. It notes that Test::More does not encourage writing tests based on specifications, does not structure tests well, and makes it hard to distinguish assertions. It recommends writing tests according to specifications rather than code, using structures like contexts and descriptions to organize tests, and printing output lines on a per-specification rather than per-assertion basis to improve readability. It also proposes functions like spec() and subtest() to help write more specification-based tests with Test::More.
Oktest - a new style testing library for Python -kwatch
Oktest is a new-style testing library for Python. It helps you to read & write tests very much. Oktest is available with (or without) standard 'unittest' module.
The document contains results from various benchmark tests measuring the performance of different programming languages and implementations like Node.js, Java, Python, and others. It includes graphs showing the time taken to complete tasks like string concatenation and list operations. The benchmarks also compare just-in-time compilers and tracing JIT performance for some languages.
I have something to say about the buzz word "From Java to Ruby"kwatch
The document summarizes a lightning talk given at RubyKaigi2008 about transitioning from Java to Ruby. It cautions that simply writing Ruby code does not mean thinking in Ruby. It argues that overemphasizing beginners and bragging about project size are misguided. The talk urges programmers to change their mindset and think for themselves rather than blindly following trends when adopting new languages and technologies.
The document discusses various techniques for optimizing the performance of embedded Ruby (ERuby) templates. It describes 7 iterations of improvements to "MyEruby" that reduced the processing time from over 69 seconds to under 1 second. The optimizations included avoiding line splitting, replacing parsing with patterns, tuning regular expressions, inline expansion and array buffers.
The document is a technical report from kuwata-lab.com copyrighted in 2007. It contains multiple graphs and tables comparing the performance of different template engines like Tenjin, ERB and Smarty. It also includes copyright notices on each page.
The document discusses modern object-relational mappers (ORMs) and their underlying technologies. It covers several key concepts:
1. Query objects allow building queries through method chaining rather than keyword arguments, abstracting SQL queries.
2. View-layer caching can be implemented through lazy loading to avoid tight coupling between controllers and views.
3. The N+1 problem, where querying dependent objects results in multiple queries, can be addressed through eager loading or strategic eager loading.
4. Ruby-to-SQL translation is enabled by overriding operators in Ruby to generate an abstract syntax tree, which can then be converted to SQL.
How to Make Ruby CGI Script Faster - CGIを高速化する小手先テクニック -kwatch
The document discusses ways to make Ruby CGI scripts faster. It explains that process invocation and library loading are the main reasons CGI scripts are slow. Various case studies are presented on optimizing code by lazy-loading libraries, avoiding unnecessary objects, and parsing query strings efficiently. Benchmark results show performance improvements from these techniques.
IoT Devices Compliant with JC-STAR Using Linux as a Container OSTomohiro Saneyoshi
Security requirements for IoT devices are becoming more defined, as seen with the EU Cyber Resilience Act and Japan’s JC-STAR.
It's common for IoT devices to run Linux as their operating system. However, adopting general-purpose Linux distributions like Ubuntu or Debian, or Yocto-based Linux, presents certain difficulties. This article outlines those difficulties.
It also, it highlights the security benefits of using a Linux-based container OS and explains how to adopt it with JC-STAR, using the "Armadillo Base OS" as an example.
Feb.25.2025@JAWS-UG IoT