Перейти к контенту
  • 0

Серверное окружение или ускоряем трёшку!


proit

Вопрос

Уже поднималась тема по оптимизации 3ки на уровне форума. Но сейчас я хотел бы остановиться на устройстве серверной инфраструктуры для форума. Предполагаю, тема будет очень актуальна для владельцев ВДС/ВС.

 

Недавно сам обзавелся ВДСкой, как раз к выходу 3.0.2. Каково было мое разочарование, когда время генерации не поднималась выше 0.7с, а если еще и конкурентные запросы запустить, то и вовсе >15с, что как сами понимаете, недопустимо. Все это действо происходило на centOS 5.3 со стабильным пакетом Apache 2.2.3, PHP5.1.6, Mysql 5.0.45. Дополнительно был поставлен eaccelerator 0.9.5.2 без поддержки ф-ий работы с памятью. Сервер же имеет ресурсы 480 MHz, 256Mb, что по идее должно хватать для довольно небольшого форума (7000пользователей + 16000постов) + на ВДС только форум.

 

А теперь ближе к делу, т.к. сейчас у меня практически нулевая ВДС (в плане окружения) и я стремлюсь добиться достаточной производительности, как и все вы, предлагаю здесь писать свои рекомендации (идеи?) по оптимизации именно серверного окружения, а я в свою очередь, по мере возможности (опыта) буду пробовать и проводить замеры с помощью siege с выкладкой результатов.

 

Вот что я имею сейчас:

 

siege -c10 -t 10S

Transactions: 26 hits

Availability: 100.00 %

Elapsed time: 15.94 secs

Data transferred: 0.32 MB

Response time: 1.87 secs

Transaction rate: 1.63 trans/sec

Throughput: 0.02 MB/sec

Concurrency: 3.05

Successful transactions: 26

Failed transactions: 0

Longest transaction: 13.34

Shortest transaction: 0.51

 

siege -c 30 -t 10S

Transactions: 15 hits

Availability: 100.00 %

Elapsed time: 21.15 secs

Data transferred: 0.19 MB

Response time: 6.17 secs

Transaction rate: 0.71 trans/sec

Throughput: 0.01 MB/sec

Concurrency: 4.37

Successful transactions: 15

Failed transactions: 0

Longest transaction: 10.55

Shortest transaction: 0.00

Только обратите внимание на "Elapsed time", хоть я и указывал 10сек, реальное время иногда много больше назначенного...(почему не знаю, видимо, какие то запросы виснут).

 

P.S. Я был немного озадачен, когда увидел, что кэширование происходит в БД...неужто придется ставить мемкэш? Предпочтительно только APT || eaccelerator --with-eaccelerator-shared-memory хватит? Уж очень не хочется раскидываться памятью:D

 

P.S.S. На днях согласуюсь с поддержкой и обновлю PHP + мускуль и привяжу nginx для статики.

Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 64
  • Создана
  • Последний ответ

Лучшие авторы в этом вопросе

Лучшие авторы в этом вопросе

Рекомендуемые сообщения

  • 0

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

 

Прежде чем что-то "оптимизировать", нужно понять, как оно вообще работает. Вот вы, например, явно накоротке с автомобилями. Представьте, пригнали вам две машины - старую версию какой-то модели Хонды, и новую. Новая вся в свистелках и перделках, старая проста как стальная балка. Как вы узнаете, что новая лучше/хуже старой, что с ней все в порядке, если не будете иметь нормативной таблички с параметрами в стиле "разгон от 0 до 100 км/ч - 7 сек"? Сядете за руль и поедете, замерите все самостоятельно, так? А что если у вас условия не те, бензин не такой, болты недозакручены =) ? Правильно, поинтересуетесь у других, кто еще сравнивал и замерял, какие результаты получили.

 

Вот этим мы тут и занимаемся, по сути....

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Вот этим мы тут и занимаемся, по сути....

 

По сути вы все здесь админы и держите свои форумы, так почему здесь темы называются и обсуждаются не так как у вас на форуме ?

Зачем называть тему "ускоряем трёшку" ?

 

Создайте тему и назовите ее, проверяем трешку или сравниваем или параметры трешки

Так будет понятно что за тема

А сейчас тут будет страниц 70 пока все изучат и каждый отпишется

И когда придет новичок, то он одуреет здесь читать тему и будет думать что попал не туда

 

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

На своих форумах все все держат по полочкам и порядок, чуть что, то сразу банят

А здесь задашь поиск, так там страниц 50 выскочит и капай этот хлам не понятный

 

Поэтому согласен, что нужно понюхать, попробовать

Но только темы нужно создавать и называть их как положено и в них писать согласно название темы

 

Если вы на машине будете ехать и будет вывеска "Автосервис"

А вам нужно туда, вы остановитесь и зайдете

Правильно ?

А там торгуют унитазами

Вам это понравиться ?

 

Так и по этой теме

Если ускоряете трешку, то нужно и писать подобающе

Хостинг такой

Тариф такой

Скорость такая

Для оптимизации сделал то и то то

 

Тогда будет достойная и понятная тема, что и как ускорить трешку

А не как сейчас, зашел прочитал 3 страницы, время потерял, а толку 0

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Обновился до 3.0.4, на глаз вроде побыстрее, но уж точно не медленнее.

siege говорит обратное

ransactions: 101 hits

Availability: 100.00 %

Elapsed time: 30.23 secs

Data transferred: 1.39 MB

Response time: 2.41 secs

Transaction rate: 3.34 trans/sec

Throughput: 0.05 MB/sec

Concurrency: 8.06

Successful transactions: 101

Failed transactions: 0

Longest transaction: 3.52

Shortest transaction: 1.19

 

Сейчас посмотрел - весь кеш храниться в mysql, что если переправить это дело в memcache например? Кто что считает по этому поводу?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Подключил memcache и eaccelerator

 

БЫЛО

56 посетителей сейчас.

 

GZIP включен

10 запросов

0,0977 сек

 

С включением:

$INFO['use_diskcache'] = '1';

$INFO['use_eaccelerator'] = '0';

$INFO['use_memcache'] = '0';

 

GZIP включен

9 запросов

0,1231

 

СТАЛО

76 посетителей сейчас.

 

$INFO['use_eaccelerator'] = '1';

$INFO['use_memcache'] = '1';

$INFO['use_diskcache'] = '0';

 

GZIP включен

9 запросов

0,0537

 

 

Как видим - выигрыш составил примерно 0,04 секунды )))))

или ускорение в два раза!

Изменено пользователем Vabank
Ссылка на комментарий
Поделиться на других сайтах

  • 0

При добавлении в конфиг:

$INFO['use_memcache'] = '1';

Форум не отображается - белая страница, в конфиге пусто. Или нужно что то ещё?

 

Разобрался - нужно добавить ещё:

$INFO['memcache_server_1'] = "localhost";
$INFO['memcache_port_1'] = "11211";

Это если у кого ещё вопрос возникнет.

 

СТАЛО

0,0537

 

Какие параметры сервера и как все это дело крутиться интересно, а то у меня и выделенный сервер, вроде и кеши стоят и так далее. Но и при минимуме посетителей показателя ниже чем 0.1473 сек на главной странице форума не добиться. Мелочи, но интересно просто с чем это может быть связано.

Хотя стоят дополнения: Blog, Gallery, Downloads, Shoutbox.

Изменено пользователем Opik
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Вот интересная ситуация сейчас наблюдается.

На форум идет Ddos атака.

Количество посетителей-гостей растет с каждой секундой...

 

544 посетителей сейчас

GZIP включен

9 запросов

0,0644 сек

 

Форум не отображается - белая страница, в конфиге пусто. Или нужно что то ещё?

У меня была похожая ситуация после установки.

Лечилось правильным указанием пути к extension_dir в php.ini

 

Какие параметры сервера и как все это дело крутиться интересно, а то у меня и выделенный сервер, вроде и кеши стоят и так далее. Но и при минимуме посетителей показателя ниже чем 0.1473 сек на главной странице форума не добиться. Мелочи, но интересно просто с чем это может быть связано.

Хотя стоят дополнения: Blog, Gallery, Downloads, Shoutbox.

Настройки сервера все по умолчанию.

 

819 посетителей сейчас

GZIP включен

9 запросов

0,0721 сек

 

В общем существенно помогает использование данных расширений.

Изменено пользователем Vabank
Ссылка на комментарий
Поделиться на других сайтах

  • 0
nginx? версия php, какие кешеры? Не знаю почему, но скорость генерации страницы ну ниже 0.1 никак не опустить, хотя ресурсов на сервере хватает. все вроде бы как надо... но ничего не помогает)
Ссылка на комментарий
Поделиться на других сайтах

  • 0
nginx? версия php, какие кешеры? Не знаю почему, но скорость генерации страницы ну ниже 0.1 никак не опустить, хотя ресурсов на сервере хватает. все вроде бы как надо... но ничего не помогает)

nginx - нет

PHP 5.2.5

Ссылка на комментарий
Поделиться на других сайтах

  • 0

А вот и я:D

Полностью перешел на nginx + spawn-fcgi (7 процессов) + php.

Протестировал x-cache 1.3.0 и eaccelerator на обновке и вновь отдал свое предпочтение eacceleratory.

 

На момент проведения нагрузочного тестирования на форуме было 18 юзеров.

 

xCache -c10 -t30S:

 

Transactions: 129 hits

Availability: 100.00 %

Elapsed time: 50.57 secs

Data transferred: 2.02 MB

Response time: 2.91 secs

Transaction rate: 2.55 trans/sec

Throughput: 0.04 MB/sec

Concurrency: 7.43

Successful transactions: 129

Failed transactions: 0

Longest transaction: 34.41

Shortest transaction: 0.31

eAccelerator -c10 -t30S:

 

Transactions: 129 hits

Availability: 100.00 %

Elapsed time: 48.98 secs

Data transferred: 2.02 MB

Response time: 2.81 secs

Transaction rate: 2.63 trans/sec

Throughput: 0.04 MB/sec

Concurrency: 7.39

Successful transactions: 129

Failed transactions: 0

Longest transaction: 48.47

Shortest transaction: 0.26

В целом, по субъективным ощущениям стало работать шустрее, но рывка не произошло.

Версия форума 3.0.3. Завтра обновлюсь до 3.0.4 и снова протестирую;)

Изменено пользователем proit
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Забавно. Тема наглядно показывает - хоть ты из штанов выпрыгни, все равно, максимум чего добьешься (без наращивания мощностей сервера) - это 5-10% прироста производительности =) Изменено пользователем Ritsuka
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Увы, ничего забавного...грустно, чесн.слово.

Обновился до 3.0.4 и те 5-10% указанные выше куда-то пропали:D

 

eAccelerator -c10 -t30S:

 

Transactions: 88 hits

Availability: 100.00 %

Elapsed time: 36.78 secs

Data transferred: 1.40 MB

Response time: 2.71 secs

Transaction rate: 2.39 trans/sec

Throughput: 0.04 MB/sec

Concurrency: 6.48

Successful transactions: 88

Failed transactions: 0

Longest transaction: 32.01

Shortest transaction: 0.40

Ндамс...

Изменено пользователем proit
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Согласен, работает стабильно и пока ресурсов хватает:D Хотя при нагрузке (~20 запросов/сек) начинает плакать и звать маму;)
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Появился новый замер, кому интересно.

 

Машинка: Pentium® Dual-Core CPU E5400 @ 2.70GHz / 2 GB RAM

 

ОС: FreeBSD 7.2 без иксов

 

Форум: IP.Board 3.0.4 IBR + IP.Shoutbox + пачка хуков

 

#siege -c 30 -t 10S /index.php
Transactions:				 156 hits
Availability:			  100.00 %
Elapsed time:				9.58 secs
Data transferred:			2.11 MB
Response time:				1.14 secs
Transaction rate:		   16.29 trans/sec
Throughput:				0.22 MB/sec
Concurrency:			   18.59
Successful transactions:		 156
Failed transactions:			   0
Longest transaction:			2.50
Shortest transaction:			0.48

 

# httpd -v && php -v && nginx -v
Server version: Apache/1.3.41 (Unix)
Server built:   Nov 25 2009 15:51:22
PHP 5.2.11 with Suhosin-Patch 0.9.7 (cli) (built: Nov 25 2009 15:53:15) 
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
with eAccelerator v0.9.5.3, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
with the ionCube PHP Loader v3.3.7, Copyright (c) 2002-2009, by ionCube Ltd., and
with Zend Extension Manager v1.2.2, Copyright (c) 2003-2007, by Zend Technologies
with Zend Optimizer v3.3.0, Copyright (c) 1998-2007, by Zend Technologies
nginx version: nginx/0.7.64

 

Для вычета погрешностей, статический html на том же сервере:

Transactions:				 565 hits
Availability:			  100.00 %
Elapsed time:			   10.46 secs
Data transferred:			0.09 MB
Response time:				0.01 secs
Transaction rate:		   54.01 trans/sec
Throughput:				0.01 MB/sec
Concurrency:				0.28
Successful transactions:		 565
Failed transactions:			   0
Longest transaction:			0.13
Shortest transaction:			0.00

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.