Блог

Web server qps

Зачем редис? Расскажите еще про pm. Это после каждого запроса интерпретатор перезапускается то есть всего раз в секунду? Это же невозможно. Ну pm. Если каждый процесс кушает по 20 мегабайт, то это уже 80 гигабайт памяти. Там наоборот, процессы не перезапускаются вообще: The number of requests each child process should execute before respawning. This can be useful to work around memory leaks in 3rd party libraries. Default value: Так что у автора никакой борьбы с утечками нет: Ага, сейчас нет, тут прогнал маленько.

Пока боролись — было было Сейчас тьфу тьфу тьфу, все стало хорошо и поставил 0 в текущем конфиге. Сейчас хватает максимум процессов.

Инфы мало. Что за запросы?

Анализ нагрузки на сервер

Какой протокол? Какой средний размер запроса? Каждый ли реквест пишется в базу? Как в базу пишете? Один поток? Много потоков? Какого рода запросы? Инсерты с селектом?

Еще что-то? Сколько данных в сек пишется на диск? Сколько читается? Какой трафифик на сервер туда-сюда? Сколько самих реквестов в базу?

Как деплоймент делаете при такой нагрузке? Отрубаете сервер? FrostMoon 14 июля в Подпишусь под вопросом. Какова логика скриптов? Какие объемы данных? Какие индексы? Количество записей? Мы все были бы очень признательны за чуть больший объем инфы. Запросы входят через http в json формате. В среднем приходит от до байт данных, парсится, и уже в нужном виде вставляется в БД.

Каждый пишется в БД, сначала идет select для проверки токена авторизации, если все ок — делается update для выставления флага удаления для потерявших актуальность записей, затем делается insert в БД с replace в случае если такой ключ уже имеется. Коряво, но когда-то было сделано такое решение, пока его не меняем. FrostMoon 15 июля в Однажды на практике убедились, что если часть запросов из бекенда перенести на сторону nginx например модули на perl исполняемые nginx-ом можно получить почти на порядок большее qps к БД.

А лучше, наверное, модули на Lua. Правда все упирается в специфику данных и саму базу. Но мне кажется, вам стоит попробовать. Если интересно могу в личку скинуть наш пример.

Apache Web Server

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

Хотя у нас архитектура позволяла потерять несколько серверов, но в итоге пришли к тому, что заказывали новые винты и мониторили состояние работающих через smartctl.

Это позволяло отловить умирающие винты заранее и принять превентивные меры. AlexeyShurygin 14 июля в Честно говоря, инсертов в секунду для одного сервера MySQL это ничто: Другое дело, что тут всё на одной железяке. По железу — один сервак сожгли, винты посыпались, через 40 минут хетцер дал новый, переехали. Есть там и enterprise решения, но дорого для нас пока. AlexeyShurygin 15 июля в Если файл не будет найден по соответствующему пути, передача управления снова переходит к псевдолокейшну drupal.

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

Итак, для начала нам необходимо определиться с мерой выделения физических ресурсов памяти и процессорного времени, которые мы готовы отдать процессам PHP. Если мы, ввиду физических ограничений сервера, не готовы отвести столько, то попытаемся сперва уменьшить выделяемую на каждый процесс память.

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

? сканирование логов qPs - createbookmarks.info

Если наша цель - обеспечить качество обслуживания некоторое число потенциально возможных одновременно обслуживаемых запросанам следует пойти обратным путём. К примеру, нам необходимо обеспечить обработку N запросов в секунду.

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

Путём изменения этого значения можно влиять на два несовместимых свойства такой системы. Чем выше это значение, тем больше запросов будет обработано и, соответственно, меньше времени затрачено на перезапуск интерпретатора и перезагрузку скриптов в. На стабильной системе когда обслуживаемый PHP код не вызывает серьёзных проблем при длительной работе следует выставить это значение как можно больше, но в пределах разумного разумеется, и наоборот, уменьшить при возникновении проблем.

Эти важные параметры для общего анализа производительности скриптов с целью выявления узких мест часто бывают полезны. Вообще говоря одним из достоинств PHP-FPM из коробки является возможность конфигурировать разные экземпляры worker-ов для различных окружений chroot.

какой хостинг лучше joomla или

Это позволяет сделать работу различных сайтов полностью независимой друг от друга, так, как если бы они физически работали в разных экземплярах операционной системы. В следующих статьях мы, возможно, затронем эту тему в отношении PHP-FPM, однако сейчас ограничимся общей конфигурацией. Не рекомендую править файлы конфигурации непосредственно, гораздо более изящно использовать modern way, который обеспечит минимум работы при обновлении, это conf.

Оптимизация сайта на основе mysql/PHP | 300 qps

Просто создаём файл, например limits. Если сервер обладает достаточными ресурсами оперативной памяти, чтобы вместить все скомпилированные скрипты, рекомендуется отключить дисковый кеш в eaccelerator. Также, если скрипты обновляются редко, рекомендую отключить проверку времени последней модификации файлов скриптов, чтобы eaccelerator по завершении загрузки, байткод компиляции и оптимизации всех скриптов вообще забыл о файловой системе.

В последнем случае при обновлении скриптов вам придётся вручную удалить их экземпляры из кеша через admin-скрипт или программно через API. Также, чтобы работал этот скрипт, следует указать eaccelerator-у путь по которому разрешено выполнять административные действия. Также необходимо проверить текущие системные ограничения, в частности максимальный объём разделяемой памяти, выделяемый системой, ибо если он окажется меньшим нежели указанный в конфиге, eaccelerator вызовет ошибку.

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

Может быть, напишу потом статью, как это сделано у. Memcached в целом неплохой кешер, однако у него есть ряд недостатков, которые снижают удобства его использования на серверах с множеством сайтов.

Анализ нагрузки на сервер

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

Часто - только последнее имя папки. Устанавливайте стандартную тему psweb. Для этого достаточно пару раз нажать Enter и подождать, пока инсталлер зальет файлы на сервак. Ну вот и всё, поздравляю, вы сделали это: D Чтобы добавить администраторав статистику, нужно скопировать содержимое папки act из архива с модом C: Большое спасибо за предоставление bow.

бесплатный хостинг с php и mysql vps

В результате, получалось, что полседний лог она заканчивала считывать, например на строчке. В следующий раз она начинает сканиьт лог с строчки. Но ведь ИП игроков она не знает!!! Они же прописаны в самом начале лога или при коннекте игрока. Поэтому, все результаты убийств и. Решение простое: Организовать ФТП сервер с открытой папкой логов. И все проблемы решаются сами.

Мы всегда будем обрабатывать только целые логи!

Планирование нагрузки на сервер

Вот пример настройки в pstats. Найти ещё сообщения от [quark]. Quark 5: