Przeprowadziłem testy porównawcze dwóch internetowych aplikacji bazodanowych. Aplikacji JEE z EclipseLink i ASP.NET z EntityFramework ( aplikacja składa się z modułu Web MVC i trzech modułów bibliotecznych języka C#, odpowiednio danych z modelem encji, repozytoriów i service zawierające klasy obsługi biznesowej).
Obie tworzą dokument PZ przyjęcia towaru do magazynu. By sprawdzić wydajność przeprowadziłem testy. Testy przeprowadziłem w trzech bazach danych.
Test był testem w którym wyszukiwane były pojedynczo rekordy 4 tabel bazy danych. Encja Magazyny 10 rekordów, encja Dostawcy 1000 rekordów, encja Towary 1000 rekordów, encja Naglowki_Pz 1000 rekordów. Rekordy encji były wyszukiwane według klucza głównego (była nim liczba od 1 do np. 1000) . Test miał na celu sprawdzić szybkość wyszukania pojedynczych danych. Czas podany w ms.
................................Ap. JEE.......Ap. ASP.NET...czas o (%)
PostgreSQL 10..................4907.......42976............776
MS SQL Server 2017.........3198.......37978..........1088
Oracle Database 12c.........3750.......32022............754
Ponieważ wynik był szokujący przeprowadziłem testy uzupełniające tym razem w połączeniu z bazą Oracle Database, zmniejszyłem liczbę rekordów.
Test uzupełniający pierwszy polegał na wyszukaniu 100 rekordów tabeli Towary.
Wynik osiągnięty przez aplikację JEE w połączeniu z bazą Oracle Database wyniósł : 1516 ms
Wynik osiągnięty przez aplikację ASP.NET w połączeniu z bazą Oracle Database wyniósł: 2647 ms.
Aplikacja JEE była szybsza od aplikacji ASP.NET o 75 % przy wyszukiwaniu rekordów encji.
Test uzupełniający drugi, polegał na dodaniu 100 nagłówków dokumentu PZ, bez procesu wyszukiwania dostawcy i magazynu, których rekordy zostały wyszukane przed rozpoczęciem pomiaru czasu, wszystkie 100 dokumentów zostało wystawionych w tym samym magazynie, dla tego samego dostawcy.
Wynik osiągnięty przez aplikację JEE w połączeniu z bazą Oracle Database wyniósł: 193 ms
Wynik osiągnięty przez aplikację ASP.NET w połączeniu z bazą Oracle Database wyniósł: 346 ms.
Aplikacja JEE była szybsza od aplikacji ASP.NET o 79 % przy dodawaniu nowych rekordów encji.
Czy spotkaliście się z taką różnicą ?