Skip to content

eeren3411/XML-Stream-to-Database-Tester

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XML-Stream-to-Database-Tester

PostgreSQL and MongoDB performance tests. Testing both PostgreSQL and MongoDB with threads and using PostgreSQL copyhelper.

Why?

This was my second internship project. When you're a back-end intern, companies don't really want to share their main database systems with you and you're usually assigned with a proof-of-work project.

It contains all the tests I made so far. From adding one element a time to auto multi-threaded bulk inserting. From a bad wifi to 500 mbit ethernet connection.

But why in github?

I don't know? There wasn't any c# project in my github so I wanted to add this.

How does it work?

I extended standart XMLReader to work with StreamReader to read my custom objects. Every "reader.product()" returns a product from xml file.

There are countless amount of functions in the "program.cs" file. One does it with multi-threading, one does it with only bulk insert, one does it even without bulk-insert and so on. The function names usually is enough to read it. But insides can a little bit tricky to understand.

Results? I guess.

Note

The different tests made in different days so the results may affected by connection and my computers speed (Which is bad, very bad). So I suggest you that only look for differences between databases.

Note2

Same tests with different databases made back-to-back.

Simple insert operation

speedtests

WriteTests

Get tests

getTests

Bulk insert

WriteTestsBulk

Increased bulk tests (Fills database continuously)

increasedLoader2

Multi-threaded write

multithreadedWrite

Multi-threaded Write with signals

signal-multithreadedWrite

Multi-threaded write with signals with ethernet connection

Ethernet-Signal-MultithreadedWrite

About

PostgreSQL and MongoDB performance tests.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages