mkone112, программа не может котролировать использование диска системой или другими приложениями. Ну запустился там trim без спросу, и что?
Кроме того, load может создаваться вообще чем угодно. Например, сетью. Вполне реально бывает, когда на сетевухе насыпается error rate или broadcast storm и системе становится нехорошо, причём это бывает ещё и сложно понять. Некоторые устройства могут вообще чисто на IRQ создавать нагрузку.
Именно поэтому нет универсального способа понять, где узкое место. Каждый случай уникален.
"Производительность" не бывает в вакууме, она бывает в конкретной задаче. А конкретная задача может сильно разниться. И в разных условиях будет разное поведение.
loadavg - это характеристика, которая, условно, отражает, сколько времени проведено в ожидании. При этом load может отражать загрузку совсем не процессора, а периферии (диски, сеть и другие устройства). Например, вполне жизненная ситуация, когда от диска прилетают hardware timeout, а в системе катастрофически растёт load. Даже если диск этот - raid в зеркале: пока система не догадается отстрелить проблемный диск и остаться на половинке зеркала, load будет высоким, всё будет тормозить. А это зачастую может занять далеко не одну минуту. Другой вариант: если на диске включена опция discard, то в моменты фонового trim он тоже может создавать внезапную нагрузку.
Ну вот, например, когда система тормозит - можно посмотреть: если в процессах высокое потребление процессора у kswapd или kcompactd, то это значит памяти не хватает и система начала свопаться слишком активно. Это тоже вызовет повышение load, но упираться это будет не в процессор вовсе.
Да, нужно через crs. В leaflet сильно ограничены возможности по работы с проекциями, простота и компактный размер библиотеки имеют обратной стороной ограничения по функциональности.
В качестве альтернативы можно использовать OpenLayers, Maplibre GL, NextGis Frontend.
John Bjornsen,
ORM это не свойство php. ORM это подход к работе с базой, причём даже важнее не то, что ORM позволяет вместо запросов оперировать объектами, а то, что ORM закрывает собой вопрос обслуживания и обновления базы, создания и изменения сущностей, и всё это с довольно небольшим количеством кода. Довольно неплохой подход, во многих языках и фреймворках применяется. Конечно, далеко не серебрянная пуля - иначе бы все переходили на ORM. Но всё же.
miner2100, прыгать с множеством древнийх версий - плохой путь. Лучше собрать новый сервер с нужным софтом, поднять там копию сайта и добиться её полной работоспособности. Потом переключиться.
Raddzor788, в func делается print 2 раза: сначала в начале функции (до рекурсии), потом в конце функции (после рекурсии). В итоге каждая функция при значениях x меньше 4 делает два print, вставляя посередине рекурсию. Итог вполне очевиден.
Дмитрий Кузнецов, один из простейших способов - детектить, что пользователь подключается из сети хостера. Это обойти можно только через использование малоизвестного хостера либо через VPN не у хостера, а у обычного пользователя либо у организации из нужной страны.
rPman, для того, чтобы с помощью debootstrap что-то адекватное собрать, нужно всё-таки некий багаж знаний и навыков. Иначе проще всё то же самое в докере и намного быстрее.
Кроме того, load может создаваться вообще чем угодно. Например, сетью. Вполне реально бывает, когда на сетевухе насыпается error rate или broadcast storm и системе становится нехорошо, причём это бывает ещё и сложно понять. Некоторые устройства могут вообще чисто на IRQ создавать нагрузку.
Именно поэтому нет универсального способа понять, где узкое место. Каждый случай уникален.