
Максим
25.10.2018
12:42:27
@nugmanovtim
смотри кто к нам пришёл

Alex
25.10.2018
12:42:50

Максим
25.10.2018
12:43:01
@yegor256

Google

Roman
25.10.2018
12:43:27
а что с 128 стало?

Alex
25.10.2018
12:43:34

Roman
25.10.2018
12:43:39
640 хватит всем

Максим
25.10.2018
12:45:05
https://www.yegor256.com/

Ilya
25.10.2018
12:48:41
это настоящий Бугаенко?

Alex
25.10.2018
12:49:43
а кто это?
знаю ток егора который гитхаб хекал постоянно

Ilya
25.10.2018
12:50:26

Tim
25.10.2018
12:50:32
Не факт что это тот самый, пресвятой Егорушка Бугаенко, светоча ООП и мудрец, указывающий толпе путь к истине

Roman
25.10.2018
12:50:33

Alex
25.10.2018
12:50:48

Максим
25.10.2018
12:51:02

Ilya
25.10.2018
12:51:09

Google

Ilya
25.10.2018
12:51:14
там в принципе вся суть

Максим
25.10.2018
12:51:28
а есть где его неделя в бекендсикрет?

Alex
25.10.2018
12:51:30
краткой выжимки выше хватило, спасибо.

Tim
25.10.2018
12:51:32

Максим
25.10.2018
12:51:33
там тоже сочно было очень

Yegor
25.10.2018
12:51:47
привет всем. это настоящий я.

Максим
25.10.2018
12:51:51
ну как посраться, йопп начал

Roman
25.10.2018
12:52:01

Tim
25.10.2018
12:52:03

Ilya
25.10.2018
12:52:25

Yegor
25.10.2018
12:53:22
у меня вопрос технический. может поможете. че-то я уперся в какую-то непонятную проблему. вот: https://stackoverflow.com/questions/52987672/why-does-file-write-slow-down-sometimes

Alex
25.10.2018
12:54:20

Roman
25.10.2018
12:54:51
это где-то в инфраструктуре или локально воспроизводится?
потому что выглядит как fs-related

Tim
25.10.2018
12:55:16
+

Yegor
25.10.2018
13:00:34

Alex
25.10.2018
13:01:37

Yegor
25.10.2018
13:30:19

Alex
25.10.2018
13:31:07
ну у тебя не в реалтайме же патчится, значит ты можешь запустить приложение до того как оно в многопоточку перейдет и посмотреть

Google

Yegor
25.10.2018
13:31:32
пока оно не попало в многопоточку, все работает быстро
нечего смотреть там — нет симптомов

Alex
25.10.2018
13:31:53
так тебе надо проверить кто то манкипатчил File.write или нет
или я неверно понял?

Yegor
25.10.2018
13:32:05
да, верно

Alex
25.10.2018
13:32:25
ну так проверь до того как приложение запущено, сомневаюсь что оно во время исполнения само себя патчит

Yegor
25.10.2018
13:32:32
щас попробую
[1] pry(#<TestCopies>)> ls File.write
ArgumentError: wrong number of arguments (given 0, expected 2..3)
from test/test_copies.rb:126:in `write'

Alex
25.10.2018
13:34:02
show-source
сорян

Yegor
25.10.2018
13:34:04
сори, я первый раз с этим сталкиваюсь. че-то не то делаю?
сорс вижу
но это мой сорс

Alex
25.10.2018
13:35:18
show-source File.write
увидишь из рубей он или кем то переопределен

Yegor
25.10.2018
13:36:29
[1] pry(#<TestCopies>)> show-source File.write
Error: Cannot locate this method: write. Invoke the 'gem-install pry-doc' Pry command to get access to Ruby Core documentation.
видимо никем
верно?

Rafkat
25.10.2018
13:37:06

Alex
25.10.2018
13:37:08
да, скорее всего

Google

Yegor
25.10.2018
13:37:24
ну если он лезет в исходники руби, значит никто сверху его ничем не обернул
что же это такое... ума не приложу

Alex
25.10.2018
13:38:19
тупое предложение какой нибудь file system perf может есть

Yegor
25.10.2018
13:38:44
вот смотри тест
в том же приложении:
https://github.com/zold-io/zold/blob/501/test/test_copies.rb#L121-L133
из 100 потоков пишет в один и тот же файл
все это целиком отстреливает за ровно одну секунду
и каждая запись занимает 1-2мс
то есть все окей и с файловой системой и с диском. но когда в другой ситуации делается ровно такой же File.write — он занимает иногда до 500мс

Alex
25.10.2018
13:41:56
может GC?

Yegor
25.10.2018
13:42:12

Alex
25.10.2018
13:42:14
тебе там стрейс на SO предлагали, смотрел?

Roman
25.10.2018
13:42:33
GC.disable

Yegor
25.10.2018
13:43:21

Roman
25.10.2018
13:43:41
переписать скрипт на гошечку ?

Yegor
25.10.2018
13:44:04
Тут же вот это прилетело: Errno::EMFILE: Too many open files @ dir_initialize
прямо сразу же

Google

Roman
25.10.2018
13:44:26
хмм
это типа File.write мусор оставляет, надеясь на GC

Yegor
25.10.2018
13:45:04
есть у меня одно подозрение.. видимо я в одном месте сильно нагружаю файл систему

Roman
25.10.2018
13:45:04
неожиданно если честно

Alex
25.10.2018
13:46:20
я изначально подозревал что он там внутри открывает файл

Roman
25.10.2018
13:46:52
явное открытие тоже зависит от GC

Yegor
25.10.2018
13:46:52
отсюда все прилетело: https://github.com/zold-io/zold/blob/501/lib/zold/node/async_entrance.rb#L132-L136
Dir.new(@dir) — вот здесь много файлов открывается, он говорит
че-то я не то делаю?

Roman
25.10.2018
13:48:10
попробуй Gc.disable поставить прям перед своей записью
а потом GC.enable сразу после

Yegor
25.10.2018
13:48:31
не не, я неверно делаю с Dir

Roman
25.10.2018
13:48:33
пусть GC работет, но не во время write

Yegor
25.10.2018
13:48:37
надо видимо как-то иначе листить файлы
зачем он их открывает
где-то я оставляю открытые файлы, я так понимаю. и в этом беда основноая
отсюда и тормоза

Roman
25.10.2018
13:49:12
ну так он же должен внутрь папок зайти, посмотреть че есть