?

Log in

No account? Create an account
Previous Entry Share Next Entry
2016-01

рабочие мысли

В Хроме оригинально решили проблему потребления процессора фоновыми вкладками - теперь там таймер тикает не чаще раза в секунду (примерно). На практике это означает, что цепочка из 3 промисов ресолвится 3 секунды, даже если они ходят в IndexedDB. Блин, даже в IE это лучше сделано.

FF, в свою очередь, с кастомными шрифтами хавает на порядки больше процессора на отрисовку страницы (до сотен миллисекунд!)

Да, если у вас есть кластер из CouchDB - учтите, что если под одной из них сдохнет винт, то заметить это весьма непросто, она продолжает адекватно работать, т.к. персистентность "обеспечивают" остальные ноды (а дохлая после перезапуска ресинхронизируется), и те квери которые она все еще может обслужить - она продолжает обслуживать. Даже не знаю, что сказать :)

This entry was originally posted at http://wizzard.dreamwidth.org/395133.html. It has comment count unavailable comments. Please comment there using OpenID.

  • 1
sish October 19th, 2014
"Даже не знаю, что сказать"
Контроль любого железа по производительности софта это изначально глупая идея. Так шта DB отдельно, а контроль состояния СХД-отдельно)

wizzard0 October 19th, 2014
Не, ну это понятно что мой косяк, просто забавно вышло.

sish October 19th, 2014
Да я не обвиняю никого, сферический кейс в вакууме)
MS SQL тоже в целом положить на часть отвалившихся дисков. DBA никаких проблем не видел, когда ему сообщили о необходимости остановки. Полка отпала, работало на второй.

109 October 19th, 2014
+1
такой результат только плюс couchdb.

kodt_rsdn October 19th, 2014

Хром отлично затроллил!
Дети, запомните: sleep(1) означает "спать от 1мс ДО БЕСКОНЕЧНОСТИ !!!11"
А то привыкли, понимаешь, к быстрым процессорам и дофига потокам без свопа.


Та же хрень в андроидном ЖЖ клиенте, они его тестировали, похоже, на 100Мбитном эзернете, потому что даже в 3G он характерно лагает, показывая недочёты планирования запросов.



Edited at 2014-10-19 05:00 am (UTC)

wizzard0 October 19th, 2014
> привыкли, понимаешь, к быстрым процессорам и дофига потокам без свопа.

между sleep(1) и db.exec(query, callback) есть определенная разница в ожидаемом поведении, знаете ли.

и потом, вот IE делает всё правильно - он батчит таймеры и дергает их пачками, после чего уводит процессор в сон; что мешало и в хроме то же самое сделать?

kodt_rsdn October 19th, 2014

Если это хромовская реализация, тогда да, всё плохо.
А с другой стороны, что за бурная деятельность должна быть на фоновой вкладке? Как переключился на неё, так она и наверстала упущенное.
Просто к примеру: а если ОС выдавила браузер в своп? Мы же не вправе рассчитывать, что по возобновлению он покажет нам всё самое свежее.
Имхо, народ слишком расслабился и увлёкся динамическими страницами. А может, я Петроград :)



Edited at 2014-10-19 09:34 am (UTC)

109 October 19th, 2014
> Хром отлично затроллил! Дети, запомните: sleep(1) означает "спать от 1мс ДО БЕСКОНЕЧНОСТИ !!!11"

это, собственно, в любой оси так, тут даже браузер не нужен. ну кроме каких-нибудь секретных осей реального времени.

osdm October 19th, 2014
А зачем вам в фоновых вкладках делать активную деятельность? У многих открыто по несколько десятков вкладок. ИМХО, было бы лучше, если бы хром вообще замораживал любую активность на неактивных вкладках, если пользователь не сказал иначе.

kodt_rsdn October 19th, 2014
Ну, если остыть да подумать, то очень даже понятно.

1. Тиснул на ссылку во вкладке и переключился в другую, пока первая грузится.
2. Всякие онлайн-клиенты, например, веб-интерфейс почты

Просто с аяксом и интерактивностью в последнее время стали злоупотреблять, как будто у пользователя резиновый CPU и RAM. И тут такой подлый удар из-за угла.

wizzard0 October 19th, 2014
хуже. я наоборот из кучи вкладок собрал всю тяжелую активность в одну, чтобы память, лонгполлы и т.д. не жрать.

а тут она берет и перестаёт работать как только юзер с нее уходит.

osdm October 19th, 2014
А зачем вам вообще тяжелая активность в бэкграунде? Я не могу придумать примеров кроме нотифицирующих приложений типа instant messanger-ов, и то там замедление таймера не должно ни на что повлиять - если придет нотификация на полминуты позже, никто не пострадает.

wizzard0 October 19th, 2014
зашел я на результаты поиска и тыцнул 10 раз "open in background tab".

osdm October 19th, 2014
Ну специально для такого сценария дать странице 5 минут на загрузку, потом заморозить.

  • 1