How to use apachebench to do load testing on an ubuntu 13.10 vps

Часто встречающиеся ошибки 1С и общие способы их решения Промо

Статья рассчитана в первую очередь на тех, кто недостаточно много работал с 1С и не успел набить шишек при встрече с часто встречающимися ошибками. Обычно можно определить для себя несколько действий благодаря которым можно определить решится ли проблема за несколько минут или же потребует дополнительного анализа. В первое время сталкиваясь с простыми ошибками тратил уйму времени на то, чтобы с ними разобраться. Конечно, интернет сильно помогает в таких вопросах, но не всегда есть возможность им воспользоваться. Поэтому надеюсь, что эта статья поможет кому-нибудь сэкономить время.

Установка Apache на компьютер

Если вы хотите самостоятельно попробовать Apache, организовав полноценно работающий сайт с веб-сервером, базой данных и другими компонентами, воспользуйтесь информацией, предоставленной на официальном сайте. Там вы найдете все необходимые файлы для Windows, архивы и команды инсталляции для Linux, а также объяснения всех тонкостей, связанных с настройкой данного компонента.

Кстати, на «Комьюнити» есть отдельная инструкция, посвященная тому, как использовать Apache в качестве обратного прокси на Ubuntu. Это полезный материал для всех тех, кто хочет узнать больше о расширенных возможностях этого веб-сервера.

Подробнее: Как использовать Apache в качестве обратного прокси при помощи mod_proxy на Ubuntu 16.04

Compare

3 Systems — 12 Benchmark Results

AMD Ryzen 9 5900HX — ASUS G513QY v1.0 — AMD Renoir Root Complex

Ubuntu 21.10 — 5.14.0-051400rc4daily20210804-generic — GNOME Shell 40.2

Featured Processor Comparison

AMD EPYC 72F3 8-Core — Supermicro H12SSL-i v1.01 — AMD Starship

Ubuntu 21.04 — 5.14.0-rc7-amd-pstate-phx — GNOME Shell 3.38.4

2 Systems — 140 Benchmark Results

AMD Ryzen 9 5900X 12-Core — ASUS ROG CROSSHAIR VIII HERO — AMD Starship

Ubuntu 21.10 — 5.13.0-16-generic — GNOME Shell 40.2

4 Systems — 196 Benchmark Results

Intel Core i7-8700K — ASUS TUF Z370-PLUS GAMING — Intel 8th Gen Core

Ubuntu 20.04 — 5.9.0-050900rc6daily20200923-generic — GNOME Shell 3.36.4

6 Systems — 254 Benchmark Results

AMD Ryzen 3 PRO 4350G — ASRock B450M Pro4 — AMD Renoir Root Complex

Clear Linux OS 35000 — 5.13.13-1070.native — GNOME Shell 40.4

5 Systems — 34 Benchmark Results

2 x AMD EPYC 7763 64-Core — AMD DAYTONA_X — AMD Starship

Debian 11 — 5.10.0-8-amd64 — GNOME Shell 3.38.4

6 Systems — 19 Benchmark Results

Common KVM — QEMU Standard PC — Intel 440FX 82441FX PMC

FreeBSD — 13.0-RELEASE-p4 — GCC 10.3.0 + Clang 11.0.1

3 Systems — 15 Benchmark Results

AMD Ryzen 5 5600X 6-Core — ASUS TUF GAMING B550M-PLUS — AMD Starship

Ubuntu 20.10 — 5.8.0-50-generic — GNOME Shell 3.38.1

3 Systems — 68 Benchmark Results

Intel Xeon E3-1275 v6 — ASUS P10S-M WS — Intel Xeon E3-1200 v6

Ubuntu 20.04 — 5.9.0-050900rc8daily20201007-generic — X Server 1.20.8

3 Systems — 13 Benchmark Results

AMD Ryzen 5 5500U — LENOVO LNVNB161216 — AMD Renoir Root Complex

Ubuntu 21.04 — 5.14.0-051400rc5daily20210811-generic — GNOME Shell 3.38.4

4 Systems — 63 Benchmark Results

AMD Ryzen 9 3900XT 12-Core — MSI MEG X570 GODLIKE — AMD Starship

Ubuntu 20.10 — 5.11.0-rc1-phx — GNOME Shell 3.38.1

7 Systems — 19 Benchmark Results

Common KVM — QEMU Standard PC — Intel 440FX 82441FX PMC

FreeBSD — 13.0-RELEASE-p4 — GCC 10.3.0 + Clang 11.0.1

8 Systems — 364 Benchmark Results

AMD EPYC 7742 64-Core — Supermicro H11DSi-NT v2.00 — AMD Starship

Ubuntu 21.10 — 5.13.0-19-generic — GNOME Shell 40.5

3 Systems — 22 Benchmark Results

QEMU Virtual 2.5+ — QEMU Standard PC — Intel 440FX 82441FX PMC

Debian GNU — 5.10.0-8-amd64 — 1.0.2

3 Systems — 55 Benchmark Results

2 x AMD EPYC 7763 64-Core — AMD DAYTONA_X — AMD Starship

Ubuntu 20.10 — 5.8.0-29-generic — X Server 1.20.8

Apache на Windows

Apache — наиболее распространенный WEB сервер, который используется на многих хостингах и платформах и прекрасно справляется со своими обязанности для мелких и средних проектов и WEB сайтов. Так же, Apache поддерживается практически всеми хостинг провайдерами и часто предоставляется уже преднастроенным пользователю. Apache является открытым программным обеспечением, не требует платы за использование и очень хорошо сочетается с PHP языком программирования, CMS и сайтами, написанными на PHP, за счет встроенной поддержки и интеграции с PHP,  т.к. Apache, в первую очередь, предназначен для отдачи динамического содержимого. Долгое сотрудничество Apache и PHP делает связку WEB сервера Apache с языком программирования PHP отлаженной, проверенной временем и хорошо настраиваемой платформой для веб приложений, базирующихся на PHP. Многие, достаточно крупные WEB проекты используют именно Apache в связке с PHP CMS. Особенно привлекает в Apache его доступность и простота, в сочетании с большой гибкостью и функциональностью, наличие огромного количества документации и примеров по его настройке и эксплуатации.

Несмотря на то, что Apache преимущественно используется на Unix и Linux системах он, с тем же успехом и без потери в функциональности, может использоваться и на Windows. Использовать Apache на Windows можно как для WEB разработки, так и для полноценного хостинга сайтов на PHP CMS. Однако, на мой взгляд, наиболее удобно использовать Apache на Windows именно тем, кто ведет PHP веб разработку и тестирование CMS и при этом работает на Windows. Например, если вы постоянно работает на Windows, но вам нужно развернуть и протестировать сайт на PHP CMS, например, WordPress, Joomla или Yii.

В таком случае у вас есть несколько выборов:

  • виртуальная машина VM с Linux, что затратно по времени развертывания и потреблению ресурсов системы;
  • различные сборки Win+AMP;
  • самостоятельно установить все необходимы компоненты Apache, MySQL, PHP на Windows  и настроить, как если бы это было на Linux.
  • Больше вариантов смотри в статье: «Как организовать среду для web разработки»

Использовать виртуальную машину с Linux это очень хороший вариант, но он не всегда удобен, т.к. сама по себе, работающая VM, будет забирать у вашей системы ресурсы, и при слабом железе вы столкнетесь с тормозами, что не добавить комфорта в работе. Так же, нужно будет полностью настроить Linux на VM как WEB сервер. Однако если ваш PC достаточно мощный для такого варианта, то такой подход будет, все же, лучшим решением.

Вариант использования уже готовых сборок Win+AMP тоже не лишен недостатков. Главный недостаток таких сборок в том, что они предлагают свою систему конфигурации Apache, MySQL и PHP, которая часто сильно отличается от нормального подхода при настройке Apache на реальном Linux сервере. Поэтому эти сборки, предлагая вроде бы как облегчение в конфигурации Apache, на самом же деле еще больше запутывают и ломают стандартный поход к конфигурации WEB сервера. Еще одни из недостатков готовых сборок Win+AMP — это привязанность к сайту разработчиков этих сборок, необходимость регистрироваться для получения дополнительных компонентов, а иногда и делать оплату или терпеть рекламу. И самое главное в том, что работая с такими сборками, трудно получить правильное представление о настройке Apache, MySQL и PHP, как это выполнялось бы на реальном Linux сервере. Соответственно, когда придется настраивать Apache и другие компоненты LAMP на реальном Linux сервере, придется заново переучиваться уже на правильные методы и подходы настройки и конфигурации Apache и других компонентов LAMP путем внесения изменений в конфигурационные файлы.

Что делать, если нет желания вникать в системы конфигурации этих сборок, a хочется настраивать и использовать web сервер Apache точно так же, как это делается на Linux сервере, т.е. использовать правильный и естественный подход правки конфигурационных файлов. Именно в этой ситуации, когда вы хотите работать с Apache на Windows точно так же, как и на Linux, самостоятельная, отдельная установка Apache и будет полезна и целесообразна, тем более, что делается это достаточно легко и стандартно, а настройка выполнятся точно также как на Linux сервере.

Как добавить поддержку PHP как обработчика сценариев в Apache на Ubuntu или Windows детально описано в статье Установка PHP7 на Windows в разделе Настройка .

Сервер 1С:Предприятие на Ubuntu 16.04 и PostgreSQL 9.6, для тех, кто хочет узнать его вкус. Рецепт от Капитана

Если кратко описать мое отношение к Postgres: Использовал до того, как это стало мейнстримом.
Конкретнее: Собирал на нем сервера для компаний среднего размера (до 50 активных пользователей 1С).
На настоящий момент их набирается уже больше, чем пальцев рук пары человек (нормальных, а не фрезеровщиков).
Следуя этой статье вы сможете себе собрать такой же и начать спокойную легальную жизнь, максимально легко сделать первый шаг в мир Linux и Postgres.
А я побороться за 1. Лучший бизнес-кейс (лучший опыт автоматизации предприятия на базе PostgreSQL).
Если, конечно, статья придется вам по вкусу.

RVM

The Ruby Version Manager makes it easy to work with different Ruby environments. It takes care of the process of installing specific Ruby versions and isolating gemsets. It is currently installed by running a bash script from their website.

In order to use the rvm command, you need to first run the rvm script.

If you want, you can put it in your .bashrc so that rvm is available any time you login as the user.

You can verify that the rvm script is being used by checking the head of type. It should be a function and not hashed.

Next, install Ruby 2.0.0. RVM will ask for the user’s password because it needs to install an assortment of dependencies before it can make Ruby. Since RVM builds Ruby from source, this step may take a while.

Switch to the new Ruby. This might happen by default after the installation, but checking doesn’t hurt.

Копирование числовых ячеек из 1С в Excel Промо

Решение проблемы, когда значения скопированных ячеек из табличных документов 1С в Excel воспринимаются последним как текст, т.е. без дополнительного форматирования значений невозможно применить арифметические операции. Поводом для публикации послужило понимание того, что целое предприятие с более сотней активных пользователей уже на протяжении года мучилось с такой, казалось бы на первый взгляд, тривиальной проблемой. Варианты решения, предложенные специалистами helpdesk, обслуживающими данное предприятие, а так же многочисленные обсуждения на форумах, только подтвердили убеждение в необходимости описания способа, который позволил мне качественно и быстро справиться с ситуацией.

Quick Analysis of the Load Testing Output

Having learned about the headings of the output values from the ab command, let us try to analyze and understand the output values for our initial test −

  • Apache organisation is using their own web Server Software − Apache (version 2.4.7)

  • Server is listening on Port 443 because of https. Had it been http, it would have been 80 (default).

  • Total data transferred is 58769 bytes for 100 requests.

  • Test completed in 1.004 seconds. There are no failed requests.

  • Requests per seconds − 99.56. This is considered a pretty good number.

  • Time per request − 100.444 ms (for 10 concurrent requests). So across all requests, it is 100.444 ms/10 = 10.044 ms.

  • Transfer rate − 1338.39 [Kbytes/sec] received.

  • In connection time statistics, you can observe that many requests had to wait for few seconds. This may be due to apache web server putting requests in wait queue.

In our first test, we had tested an application (i.e., www.apache.org) hosted on a different server. In the later part of the tutorial, we will be testing our sample web-applications hosted on the same server from which we will be running the ab tests. This is for the ease of learning and demonstration purpose. Ideally, the host node and testing node should be different for accurate measurement.

To better learn ab, you should compare and observe how the output values vary for different cases as we move forward in this tutorial.

Understanding the Output Values

We need to understand the different metrics to understand the various output values returned by ab. Here goes the list −

  • Server Software − It is the name of the web server returned in the HTTP header of the first successful return.

  • Server Hostname − It is the DNS or IP address given on the command line.

  • Server Port − It is the port to which ab is connecting. If no port is given on the command line, this will default to 80 for http and 443 for https.

  • SSL/TLS Protocol − This is the protocol parameter negotiated between the client and server. This will only be printed if SSL is used.

  • Document Path − This is the request URI parsed from the command line string.

  • Document Length − It is the size in bytes of the first successfully returned document. If the document length changes during testing, the response is considered an error.

  • Concurrency Level − This is the number of concurrent clients (equivalent to web browsers) used during the test.

  • Time Taken for Tests − This is the time taken from the moment the first socket connection is created to the moment the last response is received.

  • Complete Requests − The number of successful responses received.

  • Failed Requests − The number of requests that were considered a failure. If the number is greater than zero, another line will be printed showing the number of requests that failed due to connecting, reading, incorrect content length, or exceptions.

  • Total Transferred − The total number of bytes received from the server. This number is essentially the number of bytes sent over the wire.

  • HTML Transferred − The total number of document bytes received from the server. This number excludes bytes received in HTTP headers

  • Requests per second − This is the number of requests per second. This value is the result of dividing the number of requests by the total time taken.

  • Time per request − The average time spent per request. The first value is calculated with the formula concurrency * timetaken * 1000 / done while the second value is calculated with the formula timetaken * 1000 / done

  • Transfer rate − The rate of transfer as calculated by the formula totalread / 1024 / timetaken.

Как работает веб-сервер Apache?

Хоть Apache и называется веб-сервер, но в реальном положении вещей он является не сервером, а программой, которая запускается на сервере. Его задача установить соединение между сервером и браузером посетителей (Firefox, Google Chrome, Safari и др.) при доставке файлов туда и обратно между ними (клиент-серверная структура). Apache – это кроссплатформенное программное обеспечение, что значит оно хорошо работает как на Unix, так и на Windows серверах.

Когда посетитель хочет загрузить страницу вашего сайта, например, домашнюю страницу или страницу «О нас», его браузер отправляет запрос на ваш сервер и Apache возвращает ответ со всеми запрошенными файлами (текст, изображение и так далее). Сервер и клиент взаимодействуют по протоколу HTTP и Apache ответственен за гладкое и безопасное соединение между двумя машинами.

Apache хорошо и удобно настраиваемый поскольку имеет модульную структуру. Модули позволяют администраторам сервера включать или выключать дополнительную функциональность. У Apache есть модули безопасности, кэширования, редактирования URL, аутентификации посредством пароля и другие. Вы можете установить свою собственную конфигурацию через файл .htaccess, который является файлом настроек для Apache и поддерживается всеми тарифными планами Hostinger.

Знаете ли вы, что в Hostinger есть специальные предложения? Посетите нашу страницу купонов и сэкономьте до 75%! Не стоит забывать, что это предложение ограничено во времени!

Отключение неиспользуемых функций и модулей

По-умолчанию практически во всех популярных дистрибутивах Apache поставляется в универсальной комплектации, т. е. снабжён большим набором модулей. Это позволяет использовать его практически для любых веб-приложений.

Однако, если наблюдается недостаточная производительность или слишком большое потребление аппаратных ресурсов (как например памяти), следует выяснить, какие модули Apache для текущей конфигурации никогда не используются и даже не актуальны. Например, для современных, даже самых требовательных веб-приложений требуется не более 10-12 модулей. Не говоря уже о среднестатистических сайтах на WordPress или Drupal.

В данном случае определение и отключение ненужных модулей определяется в соответствии с требованиями для используемых веб-приложений, которые всегда заранее известны. Например, эти требования предоставляются самими разработчиками веб-приложений и доступны в открытом доступе. Также необходимо учитывать, что отключение модуля, который был определён как «неиспользуемый» явно, может негативно повлиять на работу других — «нужных» модулей, поскольку некоторые модули связаны между собой зависимостями. Поэтому при принятии решения об отключении тех или иных модулей необходимо отслеживать их зависимости. Эту информацию легко получить из официальной документации модуля, либо экспериментально. Во втором случае после отключения модуля и перезапуска Apache будет получена ошибка, как например:

Syntax error on line 6 of /etc/apache2/sites-enabled/site-company1:
Invalid command ‘DAVLock’, perhaps misspelled or defined by a module not included in server configuration
Action ‘configtest’ failed

В данном случае Apache использует модуль, который, в свою очередь, не может задействовать функционал, предоставляемый модулем dav_fs, который был отключен.
В Debian-системах, таких как Ubuntu, модули Apache хранятся в каталоге , а список включенных модулей — в каталоге . Отключение модуля выполняется путём удаления соответствующего файла в каталоге mods-enabled, либо можно использовать команду:

$ sudo a2dismod mpm_itk

Аналогичным образом работает и команда включения модулей — a2enmod.

Самыми «прожорливыми» модулями Apache, потребляющими довольно много ресурсов системы являются: Rewrite, SSL, Phyton, PHP, Perl. Если они не используются, то конечно, их следует отключать. Либо заменять другими менее требовательными аналогами. Например, модуль Rewrite можно в большинстве случаев заменить модулем Alias.

5 шагов для ускорения работы Apache

Ускорить работу Apache можно на двух основных стадиях:

  • Во время компиляции – настройки при установке сервера.
  • Во время выполнения — установка параметров, влияющих на сервер во время его работы.

Настройки для ускорения Apache во время компиляции

Нужно выбирать вариант установки Apache, исходя из ваших требований. Это поможет создать быстрый и эффективный веб-сервер.

Загружайте только нужные модули

В Apache функциональность реализуется путем добавления модулей. Они бывают двух типов: статические и динамические (общие).

Чтобы посмотреть список модулей, поддерживаемых вашим сервером, используйте команду apachectl -M. Статические модули компилируются в бинарные файлы httpd, а динамические загружаются непосредственно во время выполнения.

Статические и динамические модулиключевые различия

Статические модули Динамические модули
Компилируются в бинарные файлы Добавляются во время выполнения
Требуют перекомпиляции кода Перекомпиляция не требуется
Быстро загружаются Замедляют веб-сервер

Чем больше статических модулей в бинарных файлах, тем быстрее работает веб-сервер. Но они требуют перекомпиляции Apache каждый раз, когда нужно что-то изменить. Из-за этого динамические модули или DSO используются чаще, поскольку они могут быть скомпилированы отдельно и загружены во время выполнения.

Но большое количество динамических или общих модулей может замедлить работу сервера Apache и сайта

Поэтому при выборе модулей требуется соблюдать осторожность

Чтобы увеличить скорость работы и производительность, используйте минимальное количество динамических модулей, поскольку они уменьшают объем доступной памяти.

Выберите правильный MPM

В Apache используются MPM (мульти-процессинговые модули), которые обрабатывают запросы, приходящие на сервер. Они прослушивают сетевые порты сервера, принимая запросы и создавая дочерние процессы.

MPM бывают двух типов: Prefork и Worker. В MPM Prefork каждый процесс httpd обрабатывает один сетевой запрос. Это более безопасно по сравнению с MPM Worker, но требует большего количества памяти и ресурсов.

MPM – Prefork и Worker

MPM Prefork MPM Worker
Один поток Несколько потоков
Использует больше ресурсов Использует меньше памяти
Отказоустойчив Справляется с большим трафиком

При использовании MPM Worker Apache работает в режиме многопоточного сервера, где каждый отвечает за свой запрос. Этот вариант подходит для обработки большего трафика при ограниченных мощностях сервера.

По умолчанию большинство установок Apache используют модуль Prefork. Он применяется для обработки больших объемов трафика. Вы можете проверить, какой модуль MPM использует ваш сервер при помощи следующей команды:

Определение типа MPM на вашем веб—сервере Apache

В Apache 2.4 появилась поддержка э MPM модуля Event, который может обрабатывать множественные запросы внутри одного потока. Поэтому он работает даже быстрее, чем модуль Worker.

Testing

Now that Ruby is installed, you can create a simple site and see how many requests it can handle.

Install Sinatra. It’s a microframework/DSL for creating Ruby web applications. The –no-* flags skip the documentation.

Create the sample sinatra app which just echoes “hello world”.

Run the server.

With the server finally up, you can start load testing. A call to ab looks like this:

Open another terminal and ssh into the server again. Run a test with ApacheBench. I used 1000 requests with a concurrency of 100. Don’t forget the final ’/’ for the path.

My results converged around 300 requests/second. WEBrick is not known for its speed. Go ahead and interrupt the server with Ctrl-c.

Работа с модулями

По умолчанию, модули расположены в . Директивы конфигурации для модулей по умолчанию находятся в , параметры конфигурации для дополнительных модулей, как правило, размещены в файлов в каталоге .

Просмотр установленных модулей

Просмотр установленных модулей выполняется с помощью команд:

Debian/Ubuntu

$ apache2ctl -t -D DUMP_MODULES
$ apache2ctl -M

CentOS/RedHat

$ apachectl -t -D DUMP_MODULES
$ httpd -M
$ apachectl -M

Установка модулей на примерах

Установку модулей рекомендуется производить из официальных репозиториев с помощью менеджера пакетов ОС.

При этом некоторые модули могут быть установлены только из исходников от разработчиков.

Список модулей ядра доступен для ознакомления в официальной документации.

Ниже доступны примеры команд установки модулей:

CentOS/RedHat

$ yum install mod_perl
$ yum install mod_wsgi

Debian/Ubuntu

$ apt-get install libapache2-modsecurity
$ apt install libapache2-mod-fcgid

Активация

Для активации модулей используется команда (apache2 enable mod):

$ a2enmod mod-security
$ a2enmod cgi fcgid actions
$ a2enmod rewrite

Подключение произвольного модуля

Для каждого неофициального модуля существует собственная инструкция по сборке от его разработчиков.

После того, как модуль скомпилирован, его необходимо подключить к веб-серверу вручную с помощью директивы в файле конфигурации:

LoadModule <имя_модуля> <путь к исходному файлу>

Подробно подключение произвольного модуля описано в официальной документации.

Принцип работы Апача

Апач работает на трёх уровнях: на уровне всего сервера, виртуального хоста и каталога. Настройки каждого уровня задаются в своих файлах.

Уровень всего сервера — это по каким правилам Апач обрабатывает вообще все запросы, которые к нему приходят. Например, можно сказать ему так: на любой запрос показывай ошибку «Доступ запрещён».

За этот уровень отвечает файл httpd.conf. 

Уровень виртуального хоста означает, что на компьютере может жить одновременно несколько сайтов, за которые отвечает один веб-сервер. Все запросы распределяются по своим хостам (виртуальным сайтам). 

Правила на этом уровне отвечают за то, как конкретный хост будет отвечать на запросы — откуда брать данные, как их обрабатывать и что с ними делать дальше.

За этот уровень отвечает файл extra/httpd-vhosts.conf.

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

За этот уровень отвечает файл .htaccess. Мы с ним уже встречались в статьях про защиту сервера и про публикацию сайта.

Чтобы настроить Апач, нужно поменять соответствующие настройки в этих файлах. Веб-сервер в них смотрит при каждом запросе, поэтому все новые правила применяются сразу же, как вы их пропишете. Это как если шеф-повар скажет официантам: «Стейки на стопе» — это значит, что мясо на стейки закончилось, больше заказов на стейки не принимайте. Перезагружать для этого сервер не нужно. 

Тестирование системы

AB (Apache Benchmark) — простой инструмент тестирования нагрузки от Apache Foundation. Еще одна программа для тестирования — Siege. Также доступен инструмент на основе Python — Locust.

После установки Locust нужно будет создать файл locust в каталоге, из которого вы запускаете приложение:

from locust import HttpLocust, TaskSet, task

class UserBehavior(TaskSet):
    @task(1)
    def index(self):
        self.client.get("/")

    @task(2)
    def shop(self):
        self.client.get("/?page_id=5")

    @task(3)
    def page(self):
        self.client.get("/?page_id=2")

class WebsiteUser(HttpLocust):
    task_set = UserBehavior
    min_wait = 300
    max_wait = 3000

Затем запускаем инструмент из командной строки:

locust --host=https://my-website.com

Применение перечисленных выше средств создает эффект DDoS-атаки, поэтому рекомендуется ограничить тестирование собственными сайтами.

Минусы и недостатки

Когда посетителей на сервере много, Апач работает медленно. А всё потому, что в 1995 году высокой нагрузкой считалось, условно, 1000 посетителей в минуту, а сейчас — миллион. И когда обращений к сайту становится слишком много (а Апач обрабатывает каждое соединение по очереди) — сервер не справляется и тормозит.

Второй недостаток — уязвимость подключаемых модулей. Сам Апач проверен на надёжность и безопасность много раз, а вот в модулях могут быть проблемы. Если подключить модуль, в котором есть дыры в безопасности, то через них можно получить доступ и к серверу, и к файлам, которые на нём хранятся.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: