Microsoft устранил проблему, замедлявшую работу Office 365 Onedrive в Linux
Компания Microsoft устранила проблему в сервисе Office 365 Onedrive for Business, которая существенно понижала качество работы пользователей Linux с облачным хранилищем. Примечательно, что компания была уведомлена пользователями о проблеме в ноябре прошлого года, и в качестве решения порекомендовала перейти на другую ОС, указав, что платформа Linux не поддерживается сайтом Office 365. После получения широкой огласки и волны недовольства в социальных сетях компания Microsoft удалила изначальный ответ и информировала пользователя о решении проблемы.
Суть проблемы была в том, что при обращении к сервису Onedrive из любого Linux-браузера (неважно Firefox или Chrome), страница открывалась очень медленно, потребляя значительные системные ресурсы. Если ту же самую страницу открыть из того же самого браузера, но заменив в идентификаторе (User Agent) «Linux» на «Windows», то проблема исчезала и открытие страницы производилось мгновенно. В том числе можно было взять Windows-браузер и, воспользовавшись дополнением для изменения User Agent, прописать идентификатор, специфичный для Linux, и получить огромное замедление работы, или взять любой Linux-браузер, заменить в отдаваемом серверу идентификаторе User Agent слово «Linux» на «Windows» и избавиться от проблемы с производительностью. Причём нагрузка создавалась значительная: загружалось около 100 Мб данных, примерно на две минуты браузер на 100% нагружал CPU, а интерфейс становился неотзывчивым.
Разработчики сервиса OneDrive из Microsoft извинились перед пользователями и сообщили, что проблема была вызвана ошибкой в коде упреждающей загрузки компонентов (StaticLoad.aspx). Для предварительной загрузки ресурсов на платформах iOS, Chrome OS, macOS и Windows использовался штатный браузерный механизм link preload для загрузки ссылок до обращения к ним. Для Linux для упреждающей загрузки ресурсов осуществлялся откат на запасной, менее эффективный вариант кода. Для решения проблемы инженеры Microsoft временно отключили упреждающую загрузку и намерены обновить реализацию StaticLoad.aspx, предварительно протестировав её в Linux.
© OpenNet