# Discourse перегружен реальным трафиком или DDoS? 100% загрузка ЦП при адекватном трафике и мощном сервере

**URL:** <https://meta.discourse.org/t/discourse-overloaded-real-traffic-or-ddos-100-cpu-usage-despite-of-decent-traffic-and-high-specs-server/203976>\
**Category:** Self-hosting\
**Tags:** server-resources\
**Created:** [19.Сентябрь.2021 21:33:10 UTC](https://meta.discourse.org/t/discourse-overloaded-real-traffic-or-ddos-100-cpu-usage-despite-of-decent-traffic-and-high-specs-server/203976 "2021-09-19T21:33:10Z")\
**Posts on this page:** 1\
**Showing post:** 14

<div class="post-metadata">

**Author:** ![Faizan\_Zahid](https://avatars.discourse-cdn.com/v4/letter/f/b9bd4f/32.png) [@Faizan\_Zahid](https://meta.discourse.org/u/Faizan_Zahid)\
**Post date:** [23.Сентябрь.2021 16:25:10 UTC](https://meta.discourse.org/t/discourse-overloaded-real-traffic-or-ddos-100-cpu-usage-despite-of-decent-traffic-and-high-specs-server/203976/14 "2021-09-23T16:25:10Z")

</div>

@RGJ, спасибо за ваш совет.

Теперь на страницах профилей пользователей Discourse из административного интерфейса мы получаем реальные IP-адреса пользователей.

 ![image](https://global.discourse-cdn.com/meta/original/3X/2/3/236a87184352ef151f8b1fb043f623d595e4353d.png)

Мы сделали это, раскомментировав следующую строку в нашем внешнем Nginx:

```plaintext
proxy_ssl_server_name on;
        proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        proxy_pass http://localhost:2045;
        proxy_redirect http://localhost:2045/ https://howtodiscuss.com;
       # proxy_set_header X-Real-IP $remote_addr;
       # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       # proxy_set_header Host $http_host;
       # proxy_set_header X-NginX-Proxy true;

        proxy_redirect off;

        # Поддержка Socket.IO
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

```

Однако `netstat` всё ещё показывает IP-адреса Cloudflare.

Наша исходная проблема заключается в том, почему загрузка процессора остаётся на уровне 100%, несмотря на то, что реальный онлайн-трафик составляет в среднем около 150 пользователей по данным Google Analytics. При этом большую часть нагрузки на процессор испытывают воркеры Unicorn. Я уже поделился конфигурациями `app.yaml` и характеристиками сервера в своём первом сообщении, которые вы можете увидеть выше.

 ![image](https://global.discourse-cdn.com/meta/original/3X/3/1/31f72930948cb25f9c33e8eb7a2ab80058d6f3f1.png)

Стоит ли нам увеличить мощность сервера, добавив больше процессоров, или какие изменения, настройки или оптимизации мы можем внести в `app.yaml`, Discourse или на стороне сервера, чтобы ускорить работу нашего сайта и снизить загрузку процессора?

Стоит ли нам сейчас раскомментировать шаблон ограничения скорости (ratelimit) в нашем `app.yaml`? В прошлый раз, когда мы его раскомментировали, обычные пользователи сталкивались с ошибкой 429 (слишком много запросов), поскольку все пользователи, скорее всего, отображались как IP-адреса Cloudflare на нашем сервере. Но теперь мы считаем, что приходят реальные IP-адреса пользователей, и поэтому безопасно раскомментировать шаблон ограничения скорости в `app.yml`?

Как мы можем подтвердить, что Discourse и наш сервер действительно получают реальные IP-адреса пользователей, если `netstat` всё ещё показывает IP-адреса Cloudflare?

Не является ли причиной падения нашего форума на Discourse DDoS-атака? Если да, то как её остановить?

Если 100% загрузка процессора действительно вызвана реальным ростом трафика, до каких характеристик сервера нам стоит масштабироваться?

Существуют ли настройки многопоточности или оптимизации параллельного использования процессора на уровне Linux/Discourse, которые могут решить проблему 100% загрузки процессора и ускорить загрузку нашего [сайта](https://howtodiscuss.com/) для пользователей? Мы отключили большинство плагинов, которые не используем.

---

_[View the full topic](https://meta.discourse.org/t/discourse-overloaded-real-traffic-or-ddos-100-cpu-usage-despite-of-decent-traffic-and-high-specs-server/203976)._
