Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Оптимизация игры или настройка сервера
 
 автор: verg   (03.06.2011 в 15:07)   письмо автору
 
 

Есть скрипт игры типа coombats.com. Онлайн игра Бойцовский клуб.
Есть VDS, 2 ядра по 2667Мгц. ОЗУ 2000Мб.
Кто-нибудь сталкивался с таким скриптом, или как можно настроить под него сервер? Чтоб он хотяб держал 200 человек онлайн. А то сейчас при 25 человеках в игре сервер уже начинает жестого тормозить.

  Ответить  
 
 автор: cheops   (03.06.2011 в 15:22)   письмо автору
 
   для: verg   (03.06.2011 в 15:07)
 

У игры собственный сервер или она использует внешние Apache, MySQL?

  Ответить  
 
 автор: verg   (03.06.2011 в 17:09)   письмо автору
 
   для: cheops   (03.06.2011 в 15:22)
 

Игра написана на PHP, использует Apache, MySQL

  Ответить  
 
 автор: cheops   (03.06.2011 в 17:36)   письмо автору
 
   для: verg   (03.06.2011 в 17:09)
 

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

  Ответить  
 
 автор: verg   (10.06.2011 в 17:24)   письмо автору
 
   для: cheops   (03.06.2011 в 17:36)
 

Настройки PHP:
Максимальное время выполения скриптов: 60 сек
Лимит памяти 512 Мб

В конфиге апача:
<IfModule mpm_worker_module>
    StartServers          2
    MinSpareThreads      25
    MaxSpareThreads      75
    ThreadLimit          64
    ThreadsPerChild      25
    MaxClients          150
    MaxRequestsPerChild   10000
</IfModule>
<IfModule mpm_event_module>
    StartServers          2
    MaxClients          150
    MinSpareThreads      25
    MaxSpareThreads      75
    ThreadLimit          64
    ThreadsPerChild      25
    MaxRequestsPerChild  10000
</IfModule>


Что можно поменять? Какой конфиг еще показать?

  Ответить  
 
 автор: cheops   (10.06.2011 в 17:53)   письмо автору
 
   для: verg   (10.06.2011 в 17:24)
 

А в my.ini (my.cnf) что?

  Ответить  
 
 автор: verg   (12.06.2011 в 11:53)   письмо автору
3.8 Кб
 
   для: cheops   (10.06.2011 в 17:53)
 

Файл my.cnf прекрепил к этому сообщению

  Ответить  
 
 автор: cheops   (12.06.2011 в 12:00)   письмо автору
 
   для: verg   (12.06.2011 в 11:53)
 

Я так понимаю, MySQL вообще не настраивалась?
>key_buffer = 16M
Можно увеличивать где-то до 512Мб

Возможно вас также заинтересуют темы по ссылкам
http://softtime.ru/forum/read.php?id_forum=3&id_theme=79982
http://softtime.ru/forum/read.php?id_forum=3&id_theme=43541

  Ответить  
 
 автор: verg   (12.06.2011 в 22:07)   письмо автору
 
   для: cheops   (12.06.2011 в 12:00)
 

key_buffer = 512M сделал.
read_buffer_size=64K - этого у меня в конфиге нет
read_rnd_buffer_size=256K - этого у меня в конфиге нет
myisam_sort_buffer_size=404M - этого у меня в конфиге нет
При 20 челове онлайн, процесс mysql - 60% цпу кушает :( Что можно сделать?

  Ответить  
 
 автор: cheops   (12.06.2011 в 22:09)   письмо автору
 
   для: verg   (12.06.2011 в 22:07)
 

Добавьте только для read_buffer_size и read_rnd_buffer_size значения установите больше, а для myisam_sort_buffer_size - меньше.

  Ответить  
 
 автор: verg   (13.06.2011 в 13:33)   письмо автору
 
   для: cheops   (12.06.2011 в 22:09)
 

Я тут в сети нашел:
>Тут стоит пояснить, сколько примерно занимает одно активное соединение в памяти. Это sort_buffer_size + read_buffer_size. Соответственно, если у вас никогда не используется более 10 соединений, можно смело дать им много памяти на сортировку и прочие операции. Это значительно сократит количество дисковых операций при тяжёлых больших сортировках. И наоборот, если у вас в пиках бывает 200 соединений, надо рассчитывать, что может быть занято 200 * (256K + 512K) = 150Mb чисто на соединения.
sort_buffer_size и myisam_sort_buffer_size - это разные вещи?

  Ответить  
 
 автор: cheops   (13.06.2011 в 13:38)   письмо автору
 
   для: verg   (13.06.2011 в 13:33)
 

>sort_buffer_size и myisam_sort_buffer_size - это разные вещи?
В случае таблиц MyISAM - одинаковые, в заметке вторым параметром идет read_buffer_size - вот это другой объем памяти.

  Ответить  
 
 автор: verg   (13.06.2011 в 13:55)   письмо автору
 
   для: cheops   (13.06.2011 в 13:38)
 

В консоле комантой top показывается что у процесса mysqld в столбце RES не поднимается выше 136m. А %CPU доходит опять до 60. RES=136m - это нормально?

  Ответить  
 
 автор: cheops   (13.06.2011 в 14:12)   письмо автору
 
   для: verg   (13.06.2011 в 13:55)
 

>RES=136m - это нормально?
Вполне типично (хотя и многова-то). Сколько таких процессов висит?

  Ответить  
 
 автор: verg   (13.06.2011 в 16:16)   письмо автору
 
   для: cheops   (13.06.2011 в 14:12)
 

один, но он же не должен при 30 чел. онлайн кушать 60% цпу?

  Ответить  
 
 автор: cheops   (13.06.2011 в 16:20)   письмо автору
 
   для: verg   (13.06.2011 в 16:16)
 

А дело под UNIX (если да то какой) происходит или под Windows?

>60% цпу?
Вообще говоря может, СУБД вообще интенсивно процессор использует. Можете посмотреть - этот процесс одно ядро использует?

  Ответить  
 
 автор: verg   (14.06.2011 в 11:21)   письмо автору
 
   для: cheops   (13.06.2011 в 16:20)
 

>А дело под UNIX (если да то какой) происходит или под Windows?
Debian

>этот процесс одно ядро использует?
Как это посмотреть, искал в сети, не нашел.

  Ответить  
 
 автор: cheops   (14.06.2011 в 11:23)   письмо автору
 
   для: verg   (14.06.2011 в 11:21)
 

А top не показывает загруженность ядер как разных процессоров?

PS Вообще говоря странно, что у вас процесс один - их должно быть побольше...

  Ответить  
 
 автор: verg   (21.06.2011 в 20:19)   письмо автору
 
   для: cheops   (14.06.2011 в 11:23)
 

нет, не показывает. А как увеличить количество процессов mysqld?

  Ответить  
 
 автор: cheops   (21.06.2011 в 22:25)   письмо автору
 
   для: verg   (21.06.2011 в 20:19)
 

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

  Ответить  
 
 автор: verg   (22.06.2011 в 12:29)   письмо автору
 
   для: cheops   (21.06.2011 в 22:25)
 

Его нет тут nano my.cnf . Его надо бавить? Чему сделать равным?

  Ответить  
 
 автор: cheops   (22.06.2011 в 15:05)   письмо автору
 
   для: verg   (22.06.2011 в 12:29)
 

Сделайте для начала раным 8.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования