У нас есть веб-сайт Laravel, который в настоящее время размещен на Digital Ocean (Nginx). Дроплет имеет 2 vCPU, 2 ГБ памяти, 60 ГБ SSD, 3 ТБ передачи данных и работает под управлением PHP 7.4. Мы наблюдаем постоянное увеличение использования ЦП от одного дня к другому.
В настоящее время у нас 118 "спящих" задач (что меня не слишком беспокоит), однако несколько команд php-fpm появляются с течением времени, и иногда общее использование процессора подскакивает до 50-60%. До Digital Ocean у нас уже был этот сайт на другом сервере, и процессор постоянно использовался на 95-100%.
Ниже приведен снимок текущих процессов, использующих большое количество CPU, которые запущены на сервере. Нормально ли это для сайта Laravel и действительно ли необходимы эти команды php-fpm?
top - 11:48:38 up 21 days, 22:46, 1 user, load average: 0.65, 0.75, 0.79
Tasks: 120 total, 2 running, 118 sleeping, 0 stopped, 0 zombie
%Cpu(s): 41.8 us, 21.5 sy, 0.0 ni, 36.4 id, 0.0 wa, 0.0 hi, 0.3 si, 0.0 st
MiB Mem : 1987.6 total, 172.6 free, 291.9 used, 1523.1 buff/cache
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 1475.8 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
222902 www-data 20 0 242664 58356 37272 R 76.4 2.9 0:13.28 php-fpm: pool www
222903 www-data 20 0 242652 57740 37208 S 26.6 2.8 0:01.80 php-fpm: pool www
222901 www-data 20 0 242700 57480 37144 S 21.9 2.8 0:24.67 php-fpm: pool www
11 root 20 0 0 0 0 I 0.3 0.0 5:25.41 [rcu_sched]
167142 www-data 20 0 141972 15920 5384 S 0.3 0.8 29:09.38 nginx: worker process
1 root 20 0 171116 12632 7848 S 0.0 0.6 1:28.61 /sbin/init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.12 [kthreadd]
3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [rcu_gp]
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [rcu_par_gp]
6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [kworker/0:0H-kblockd]
9 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [mm_percpu_wq]
10 root 20 0 0 0 0 S 0.0 0.0 1:33.28 [ksoftirqd/0]
Примечание: В настоящее время на сайте включен Cloudflare, и до 27 февраля сайт был доступен только для страны происхождения магазина (Мальта). До этого момента графики Digital Ocean показывали, что загрузка процессора составляла не более 4,5%. После 27-го числа мы открыли сайт еще примерно для 20 стран - некоторых из ЕС, Австралии и США - и сразу же увидели такой всплеск загрузки процессора.
Меня беспокоит, что с течением времени и увеличением посещаемости сайта, процессор может достичь точки невозврата, и (как это уже случалось ранее) сайт, к сожалению, станет недоступным для просмотра.
Любая помощь, советы и рекомендации будут очень признательны.
Заранее спасибо :)
Тег можно проверить с помощью фильтра, например:
if $syslogtag=="nginx.log" then action(...)
& stop
-121--479816- Я помню фразу «жалоба - это подарок» из курса обслуживания клиентов. Я хотел бы адаптировать его: хорошее сообщение об ошибке - это подарок. Это пример отличного сообщения об ошибке по сравнению с «произошла неизвестная ошибка», с которой вы регулярно сталкиваетесь.
Однако для получения подарка необходимо прочитать и понять сообщение. Удивительно, что многие люди получают ошибку, панику и бросают ее на один из форумов помощи, не пытаясь понять это. Я понимаю, что чтение английского текста может быть пугающим, но в настоящее время у нас есть онлайн-службы перевода, чтобы справиться с этим.
Здесь он смотрит в лицо: « Загрузка файла в полную файловую систему » и « превышение квоты пользовательского диска » не может быть более ясным. Сообщения означают, что файловая система на сервере заполнена, и/или дисковая квота учетной записи, на которую загружается файл, израсходована. Чтобы решить эту проблему, кто имеет доступ к серверу, должен удалить некоторые файлы, добавить место в место хранения или увеличить квоту.
Либо вы пытаетесь создать уже существующий каталог. Чтобы решить эту проблему, не создавайте каталог.
Единственное сообщение, которое может быть немного трудно понять, это второе. Я не уверен, почему этот шаг не разрешен. Могу я предложить поиск в Интернете?
-121--480785-Laravel не особенно легкий. Необходимо собрать информацию о том, что система делает, проанализировать данные и внести соответствующие изменения.
Ознакомьтесь с журналами доступа к веб-серверу и журналами laravel в качестве отправной точки для определения активности системы.
Решите, действительно ли это проблема, а затем примите меры.
Необходимо использовать системные ресурсы. Ваша система кажется в целом слегка используемой.