2015-08-25 2 views
2

Мы работаем на веб-сайте с Ruby on Rails, который получает GPS-координаты, отправленные системой отслеживания, которую мы разработали. Эта система отслеживания отправляет 10 координат каждые 10 секунд.Очень медленный запрос POST с Ruby on Rails

У нас есть 2 сервера для проверки нашего сайта, и мы заметили, что один сервер обрабатывает 10 координат очень быстро (менее 0,5 с), тогда как другой сервер обрабатывает 10 координат за 5 секунд минимум (до 20 секунд) , Мы должны использовать «медленный» сервер для размещения нашего веб-сайта в режиме производства, поэтому мы попытаемся решить эту проблему.

Вот изображение, показывающее ответ времени медленного сервера (внизу мы видим 8593 мс).

Slow Server

Второе изображение показывает время отклика от «быстрого» сервера.

Fast Server

версия сайта является то же самое. Мы загружаем его через Github.

Мы можем легко воспроизвести проблему, отправив поддельные координаты с помощью POSTMan, и разница между двумя серверами остается неизменной. Это означает, что проблема не связана с нашей системой отслеживания, на мой взгляд.

Я пришел сюда, чтобы узнать, что может быть источником такой разницы. Я думаю, это может быть проблема с самого сервера или с некоторыми настройками, которые не импортируются с Github.

Мы используем Sqlite3 для нашей базы данных.

Однако я даже не знаю, где искать, чтобы найти возможные различия ...

Если вам нужна дополнительная информация (например, lscpu => Я ограничен числом 2 ссылок ...) в чтобы помочь мне, пожалуйста, не стесняйтесь. Я отвечу очень быстро, поскольку я работаю над ним весь день.

Заранее спасибо.

EDIT: здесь приведены команды команд lscpu на сервере.

Быстрый сервер: enter image description here

Медленный сервер: enter image description here

Может быть одна большая разница кэш L2 ...

Я думаю, что ответ here, но как я могу знайте, каково значение сингулярности прагмы и как я могу ее изменить?

Размер файла .sqlite3, который я использую, составляет менее 1 Mo для тестов. Обе базы данных должны быть идентичны в соответствии с моим файлом schema.rb.

+0

Являются ли серверы различными аппаратными средствами/средами? На вашем «производственном» сервере работает очень медленный общий хостинг? – gernberg

+0

- Каков размер данных, которые у вас есть на каждом сервере? - У одной из баз данных есть индекс, а другой нет? - есть ли какое-либо существенное различие в памяти, используемой в обоих случаях? – tomsoft

+0

Мое предположение, что [http://stackoverflow.com/questions/15413575/why-is-sqlite-so-slow-2-q-s-on-a-specific-machine](this) может стать источником проблемы. Однако я не знаю, как узнать значение, которое я использую для синхронной прагмы и как ее изменить. @gernberg: Я не знаю аппаратного обеспечения сервера. Медленный считается виртуальным, и я спросил об этом. Оба используют linux. Я все еще использую среду разработки Ruby на рельсах, но я не думаю, что я запускаю очень низкий общий хостинг (кстати, я не понимаю, что вы имеете в виду). – Jahaa

ответ

0

Поставщик «медленного» сервера решил проблему, однако я не знаю деталей. Некоторые вещи потребляли память и замедляли все.

Виртуальным сервером, это означает, наконец, что несколько серверов работают на одной машине, каждая из которых отнесена к части машины.

Большое спасибо за помощь.

 Смежные вопросы

  • Нет связанных вопросов^_^