Модераторы: skyboy

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Тонкости программирования сайта, с большой посещаемостью 
:(
    Опции темы
The_Aleksey
Дата 23.7.2008, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


<?php
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 10.10.2007
Где: Москва

Репутация: нет
Всего: 6



Привествую всех!
Меня интересует такой вопрос. Есть сайт, взаимодействующий с БД. Что будет происходить при одновременном обращении к базе большого числа пользователей? И как с точки зрения php можно корректно организовать работу сайта с большой посещаемостью?
PM MAIL   Вверх
MuToGeN
Дата 23.7.2008, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: нет
Всего: 32



The_Aleksey, от ПХП тут ничего не зависит, тут надо думать о возможностях тюнинга СУБД.


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
The_Aleksey
Дата 23.7.2008, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


<?php
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 10.10.2007
Где: Москва

Репутация: нет
Всего: 6



Цитата

The_Aleksey, от ПХП тут ничего не зависит, тут надо думать о возможностях тюнинга СУБД.


То есть единственное, что я могу сделать - это оптимизировать запросы? А как БД относится к множественным одновременным обращениям?
PM MAIL   Вверх
MuToGeN
Дата 23.7.2008, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: нет
Всего: 32



Цитата(The_Aleksey @  23.7.2008,  10:11 Найти цитируемый пост)
А как БД относится к множественным одновременным обращениям? 

Это уже зависит только от БД и ни от кого более. Mysql, к примеру, хоть под такое и заточен, но порой любит ронять индексы, системы с xml+xslt (текстовые базы) просто не могут справиться с критичными нагрузками. Итд.
Цитата(The_Aleksey @  23.7.2008,  10:11 Найти цитируемый пост)
единственное, что я могу сделать - это оптимизировать запросы?

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


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
The_Aleksey
Дата 23.7.2008, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


<?php
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 10.10.2007
Где: Москва

Репутация: нет
Всего: 6



Цитата

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


Можете дать ссылки на информацию, где я могу почитать?
PM MAIL   Вверх
Feldmarschall
Дата 23.7.2008, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 3
Всего: 32



Цитата(The_Aleksey @  23.7.2008,  10:11 Найти цитируемый пост)
А как БД относится к множественным одновременным обращениям? 

нормально относится. Она для этого и придумывалась.



PM   Вверх
MuToGeN
Дата 23.7.2008, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: нет
Всего: 32



Цитата(The_Aleksey @  23.7.2008,  10:31 Найти цитируемый пост)
Можете дать ссылки на информацию, где я могу почитать? 

Если только вы хоть как-то намекнете, какую именно СУБД вы используете.


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
The_Aleksey
Дата 23.7.2008, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


<?php
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 10.10.2007
Где: Москва

Репутация: нет
Всего: 6



Цитата

Если только вы хоть как-то намекнете, какую именно СУБД вы используете.


Пардон, с этого надо было начать)
MYSQL
PM MAIL   Вверх
MuToGeN
Дата 23.7.2008, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: нет
Всего: 32



The_Alekseyhttp://dev.mysql.com/doc/refman/5.1/en/optimization.html

Добавлено через 7 минут и 44 секунды
И, да... Мускуль - штука порой малопредсказуемая. Сам я когда-то тюнинговал ее по вышеупомянутому мануалу. Там все нужное имеется. Но то, что именно вам понадобится, зависит только от того, что вы собираетесь получить в результате.


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
The_Aleksey
Дата 23.7.2008, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


<?php
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 10.10.2007
Где: Москва

Репутация: нет
Всего: 6



Спасибо, буду изучать!
PM MAIL   Вверх
xotey
Дата 24.7.2008, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 14.3.2008

Репутация: нет
Всего: нет



Вот, простой скриптик для простой провеки качества настройки MySQL.
Ничего особенного, но, в целом, приятная вещь.
http://rackerhacker.com/mysqltuner/
PM MAIL   Вверх
Glip
Дата 25.7.2008, 00:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 473
Регистрация: 30.12.2006

Репутация: 3
Всего: 18



The_Aleksey, можете снизить нагрузку на субд используя memcached

Это сообщение отредактировал(а) Glip - 25.7.2008, 00:10


--------------------
user posted image
PM MAIL   Вверх
Artemon
Дата 24.8.2008, 15:48 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: 1
Всего: 20



Цитата

The_Aleksey, от ПХП тут ничего не зависит, тут надо думать о возможностях тюнинга СУБД.


Очень даже зависит! Точнее зависит от логики работы сайта, которую всегда можно направить в необходимое русло.

1. Всегда используем cache и перед тем, как обратиться к БД, смотрим, а нет ли у нас нужной инфы в кеше.

2. Показываем на сате информацию столько - сколько можно увидеть, но не больше. Для этого используем конструкцию LIMIT.

3. В БД обязательно нужно поставить индексы по числовым полям, которые участвуют в сравнениях, даже не представляете на сколко эт оповысит производительность.

4. Ну естественно БД должна быть спроектирована грамотно и должна быт ьприведена минимум к третей нормальной форме.





--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
sir_nuf_nuf
Дата 25.8.2008, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 6.1.2008

Репутация: 8
Всего: 31



Artemon, а вот про нормализацию готов поспорить:

обратная сторона нормализации : необходимость join-ить таблицы, что под нагрузкой часто не приемлемо (хотя зависит от размера БД).

Иногда и охота расписать все по таблица, что бы было без избыточности, но приходится всю инфу сливать в одну таблицу..


--------------------
user posted image
user posted image
PM MAIL Jabber   Вверх
Artemon
Дата 27.8.2008, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: 1
Всего: 20



У ненормализованной БД следующие минусы:

1. Большой размер, а как известно хостеры всегда ограничивают БД по размеру.
2. С разрастанием БД в ненормализованной базе становится вообще трудно что-либо понять.
3. Могут появляться ошибки, связанные с тем, что начнут частично меняться дублирующиеся записи, что может привести к тому, что наример на складе у товара цена 100р., а в заказе уже почему-то 200р.

По поводу Join, да это дополнительная нагрузка, но если мы используем индексы, то эта нагрузка минимальна.

По опыту скажу, что нормализовать нужно всегда!


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.1406 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.