Мы работаем над веб-сайтом на Ruby on Rails, который получает GPS-координаты, отправленные разработанной нами системой отслеживания. Эта система отслеживания отправляет 10 координат каждые 10 секунд.
У нас есть 2 сервера для тестирования нашего веб-сайта, и мы заметили, что один сервер обрабатывает 10 координат очень быстро (менее 0,5 с), тогда как другой сервер обрабатывает 10 координат минимум за 5 секунд (до 20 секунд). Мы должны использовать «медленный» сервер для перевода нашего веб-сайта в рабочий режим, поэтому мы попытаемся решить эту проблему.
Вот изображение, показывающее временную характеристику медленного сервера (внизу мы видим 8593 мс).
На втором изображении показана временная характеристика «быстрого» сервера.
Версия сайта та же. Мы загружаем его через Github.
Мы можем легко воспроизвести проблему, отправив поддельные координаты с помощью POSTMan, и разница во времени между двумя серверами останется прежней. Это означает, что проблема, на мой взгляд, не в нашей системе отслеживания.
Я пришел сюда, чтобы узнать, что может быть источником такой разницы. Я предполагаю, что это может быть проблема с самим сервером или с некоторыми настройками, которые не импортируются с Github.
Мы используем Sqlite3 для нашей базы данных.
Однако я даже не знаю, где искать возможные различия...
Если вам нужна дополнительная информация (например, lscpu => количество ссылок ограничено двумя...), чтобы помочь мне, пожалуйста, не стесняйтесь. Я отвечу очень быстро, так как я работаю над этим весь день.
Заранее спасибо.
РЕДАКТИРОВАТЬ: вот результаты команд lscpu на сервере.
Может быть, одно большое отличие - это кеш L2...
Я предполагаю, что ответ здесь но как я могу узнать, каково мое значение синхронной прагмы и как я могу его изменить?
Размер файла .sqlite3, который я использую для тестов, составляет менее 1 месяца. Обе базы данных должны быть идентичны в соответствии с моим файлом schema.rb.