I have a search system (laravel5.8/mysql5 /vuejs 2.5 / bootstrap 4 ) where data are read from remote server using its ip and shown for registered and logged user. User can select some of found rows and save them in database. Quote simple. users table is ordinary.
When user saves found data 1 row is saved in table :
CREATE TABLE `user_lists` ( `id` int(10) UNSIGNED NOT NULL, `user_id` int(10) UNSIGNED NOT NULL, `title` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `description` text COLLATE utf8mb4_unicode_ci, `saved_count` int(10) UNSIGNED NOT NULL DEFAULT '1', `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` timestamp NULL DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
when user can assign title and description.
found rows can have 40-50 fields which are saved in next table:
CREATE TABLE `search_results` ( `id` bigint(20) UNSIGNED NOT NULL, `user_list_id` int(10) UNSIGNED NOT NULL, `source_id` int(10) UNSIGNED NOT NULL, `field` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL, `value` json NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
My question is how my app can be tested for heavy testing and search for some narrow places? From the first look a possible narrow place seems remote server. The reason : not any request by logged user is saved in db. Are there some benchmarked tools to searct / test for possible narrow places?