Skip to main content

Posts

SpringBoot : Performance War

Reactive Systems are designed to address challenges posed by modern software systems - the challenges related to large number of users and high throughput. Reactive systems are expected to be highly responsive, resilient, elastic and message driven. In this article we will: Build a set of fully non-blocking REST API using SpringBoot 2.0, WebFlux and Reactive Redis. Performance test the above Reactive APIs against the traditional non-reactive APIs. The code used in this example can be downloaded from GitHub Step 1: Create a skeleton Reactive WebFlux SpringBoot project Create a SpringBoot maven project using - https://start.spring.io/ Add the following dependencies: spring-boot-starter-web spring-boot-starter-data-redis spring-webflux spring-boot-starter-data-redis-reactive Refer to the dependencies in pom.xml Step 2: Create Domain Objects The demo project uses the domain objects Customer and Account . A customer can have multiple accounts.
Recent posts

How to delete folders when PATH is too long?

Use Robocopy, or "Robust File Copy" This is a command-line directory replication command. It has been available as part of the Windows Resource Kit starting with Windows NT 4.0, and was introduced as a standard feature of Windows Vista, Windows 7 and Windows Server 2008. Robocopy can be downloaded from http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=17657 The following batch file can do the job. Keep the batch file in your path. DelFolder.bat @echo off if {%1}=={} @echo Syntax: DelFolder FolderPath&goto :EOF if not exist %1 @echo Syntax: DelFolder FolderPath - %1 NOT found.&goto :EOF setlocal set folder=%1 set MT="%TEMP%\DelFolder_%RANDOM%" MD %MT% RoboCopy %MT% %folder% /MIR RD /S /Q %MT% RD /S /Q %folder% endlocal

Creating Video Subtitles using Subtitle Workshop and Avidemux

My Tool box: 1. java youtube video downloader – Optional YTD2 is a free Java application for downloading youtube videos as flv/mp4 files.Using hc.apache.org components. (based on the idea of "ytd") http://sourceforge.net/projects/ytd2/ 2. FLV to WMV Converter: A utility to convert .FLV files to .WMV file format. http://www.tubetillatools.com/flv-to-wmv . 3. FLV to AVI Converter: A utility to convert .FLV file to AVI format http://www.tubetillatools.com/flv-to-avi 4. Subtitle Workshop: It is a freeware subtitle editing tool which allows the users to create/edit/convert subtitle files. http://www.urusoft.net 5. Avidemux : is a free open-source program designed for multi-purpose video editing. http://avidemux.org Steps 1, 2, 3, 4, 5 and 6 Step 1: Open your video in Avidemux Step 2: Select the video type

Oracle Partitioning

There are many compelling reasons to implement Oracle partitioning for larger databases, and Oracle partitioning has become the de-facto standard for systems over 500 gigabytes.  Oracle partitioning has many benefits to improve performance and manageability: Faster SQL – Oracle is partition-aware, and some SQL may improve is speed by several orders of magnitude (over 100x faster). Index range scans – Oracle partitioning physically sequences rows in index-order causing a dramatic improvement (over 10x faster) in the speed of partition-key scans. Full-table scans – Oracle partition pruning only accesses those data blocks required by the query. Table joins – Oracle partition-wise joins take the specific sub-set of the query partitions, causing huge speed improvements on nested loop and hash joins Updates – Oracle parallel query for partit

What is Oracle Parallel Query?

Oracle Parallel Query (formerly Oracle Parallel Query Option or PQO) allows one to break-up a given SQL statement so that its parts can run simultaneously on different processors in a multi-processor machine. Typical operations that can run in parallel are: full table scans, sorts, sub-queries, data loading etc. he foundation of Oracle Real Application Clusters revolves around parallelism. The original name for RAC was OPS, for Oracle Parallel Server. With RAC, it is possible for an intra-parallel operation to utilize the processors across the nodes, using the second argument in the Oracle PARALLEL hint.  This gives an additional degree of parallelism while executing in parallel. Oracle Parallel Query in a distributed environment: In a distributed environment, pieces of a table may reside on many remote servers. You can access all of the remote rows in a single q

How to speed up SQL execution?

The most expensive step in the SQL preparation process is the generation of the execution plan, particularly when dealing with a query with multiple joins. When RDBMs evaluates table join orders, it must consider every possible combination of tables. For example, a six-way table join has 720 (permutations of 6, or 6 * 5 * 4 * 3 * 2 * 1 = 720) possible ways that the tables can be joined together. In Oracle, optimizer_search_limit and optimizer_max_permutations parameters work together to place an upper limit on the number of permutations the optimizer will consider. But setting these values will not guarantee the best results. Hints for Your SQL Statement Hints are instructions that you include in your SQL statement for the optimizer. Using hints, you can specify join orders, types of access path, indexes to be used, and the intended optimization goals. You must place the hints within /*+ <h

Oracle scalability solutions - Oracle RAC

RAC stands for Real Application Clusters. Oracle has a host of tools that facilitate scalability. Oracle RAC is commonly used for scalable Oracle solutions. Oracle Real Application Cluster (RAC) allows multiple nodes in a clustered environment to mount and open a single database that resides on shared disk storage. Should a single system (node) fail, the database service will still be available on the remaining nodes. RAC has the ability to quickly add an entire server to a cluster increasing the horsepower without effecting end-user response time. RAC is a recommended solution when you have saturated a single server. Grid Computing The idea of Grid computing arose from the need to solve highly-parallel computational problems that were beyond the processing capability of any single computer. Oracle Grid computing technology represents a significant rethinking of the traditional role of software infras