Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Константин
Зарегистрирован: 06.11.2002 Сообщения: 230
|
Добавлено: Вт Мар 04 2003 10:39 Заголовок сообщения: php+mysql.Производительность? |
|
|
Имеется php+mysql.Допустим имеется несколько тысяч(макс 10000) обращений к базе данных одновременно. Какой требуется сервер,чтобы такое добро работало с удовлетворительной скоростью? Можно ли подсчитать,хотя бы примерно? |
|
Вернуться к началу |
|
 |
Subfire
Зарегистрирован: 11.12.2002 Сообщения: 185
|
Добавлено: Вт Мар 04 2003 14:03 Заголовок сообщения: Факторов много |
|
|
Вообщем как сам понимаешь ограничения накладывает пропускная способность канала. А на производительность влияет несколько вещей: это будут запросы на чтение или запись? если на чтение к скольки таблицам, насколько сложные объединения? какого объема одна порция данных, какой тип полей? при чтении будет ли выполняться поиск по индексируемым полям? будет ли это массовый запрос от одного клиента, или это будет много клиентов с небольшими запросами? и т.д. и т.п.
Вообще я так понимаю 10000 это от разных клиентов одновременно (не видел еще ни одной программы делающей такое кол-во запросов за короткое время от одного =)) Тут уже может и PHP подтормаживать процесс...
Так что вообще надо знать какая задача, какой объем данных и условия доступа к ним. |
|
Вернуться к началу |
|
 |
Константин
Зарегистрирован: 06.11.2002 Сообщения: 230
|
Добавлено: Вт Мар 04 2003 15:42 Заголовок сообщения: Навскидку |
|
|
Да,естесственно от разных. ) Будет много небольших запросов от клиентов. Соотношение чтения и записи примерно 70% на 30% соответственно.Поиск будет проводиться всегда при чтении. Тип полей text скорее всего или char. Чтение с 3,4-x таблиц. Одна порция данных небольшая,примерно как это мое сообщение. ) Ну,скажешь навскидку? |
|
Вернуться к началу |
|
 |
Subfire
Зарегистрирован: 11.12.2002 Сообщения: 185
|
Добавлено: Ср Мар 05 2003 13:26 Заголовок сообщения: Соображения и доводы =) |
|
|
Ну сам понимаешь, навскидку сложно =) Впринципе, если много клиентов сразу - енто хуже.... Во-первых нужно узнать какая пропускная способность канала - если она очень низкая, то сам понимаешь... По бенчмаркам, MySQL чтение 2,000,000 индексированных строк таблицы занимает 367 с. И запись 350,768 строк занимает 381.
Но т.к. у тебя не один клиент разом делает запросы, то будет тратиться еще время на запуск процесса PHP, который будет устанавливать соединение с MySQL(лучше значит делать "устойчивые соединения")...Короче вообщем получается, что если одновременно коннект 10 000 пользователей, то кому-то придется отдыхать, либо ставить несколько параллельных серверов... Во-первых сразу договоримся операционкой будет *nix, и сервер Apache...Вообщем операционка массовый коннект не испугается, Apache наверное тоже...А вот MySQL столько коннектов (по крайней мере в стандартной поставке, не 2 версия) точно не вытянет. Еще вопрос как настроишь PHP - если под каждого клиента будет запускаться свой процесс, то при небольшом кол-ве клиентов это будет быстрее, а при большом просто положит сервер (это в том случае если пропускная способность канала это позволит), так что pHP инсталлить как модуль Apache.
Народ, вероятно я в чем-то и ошибся, пишите!!! (в MySQL доке я не нашел ограничения по коннекту, но на практике оно было..)
Точные циферки попробую выложить позже...просто под рукой нету того что надо =))) |
|
Вернуться к началу |
|
 |
Константин
Зарегистрирован: 06.11.2002 Сообщения: 230
|
Добавлено: Ср Мар 05 2003 14:56 Заголовок сообщения: Re: Соображения и доводы =) |
|
|
Спасибо,обрадовал!Особенно насчет того что mysql не вытянет! )) Жду циферки! Как думаешь,сколько одновременных обращений выдержит mysql? p.s.а где можно бенчмарки посмотреть? |
|
Вернуться к началу |
|
 |
|