Асинхронные php + mysql запросы - Форум успешных вебмастеров - GoFuckBiz.com
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB90.7493
BTC/USD70326.5384
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 06.12.2014, 21:13   #1
Hector
hustle
 
Аватар для Hector
 
Регистрация: 02.05.2008
Адрес: 3d world
Сообщений: 12,890
Бабло: $1717315
Отправить сообщение для Hector с помощью Jabber
По умолчанию Асинхронные php + mysql запросы

Есть какой-то способ без глубокого рефакторинга реализовать сабж? Много джоинов идут подряд и надо выполнить их асинхронно для увеличения скорости.
Hector вне форума  
Старый 06.12.2014, 22:38   #2
Dippa
Senior Member
 
Регистрация: 14.02.2008
Адрес: Омск
Сообщений: 215
Бабло: $28640
По умолчанию

Сделать можно но, если mysql сервер итак загружен под 100% то непоможет. Асинхронность в php скрипте ненужная вещь, если это не демон с пулом подключений.
Если джойны то для начала все селекты закешировать. И индексы проверить заодно.

Скрипт отсылает данные клиенту или серверный для обработки данных ?
Надо код смотреть и рефакторить придется.

Последний раз редактировалось Dippa; 06.12.2014 в 22:49.
Dippa вне форума  
Старый 06.12.2014, 23:02   #3
Hector
hustle
 
Аватар для Hector
 
Регистрация: 02.05.2008
Адрес: 3d world
Сообщений: 12,890
Бабло: $1717315
ТС -->
Отправить сообщение для Hector с помощью Jabber
автор темы ТС По умолчанию

Кеш sql есть но мало оперативы под них. А вот проц нагружен на 40%. Это веб сайт. Клиенты.
Вообще генерация html 200 мс это нормально?
Hector вне форума  
Старый 06.12.2014, 23:58   #4
Final Fantasy
private.
 
Аватар для Final Fantasy
 
Регистрация: 30.04.2008
Сообщений: 3,864
Бабло: $462670
По умолчанию

Цитата:
Сообщение от Hector Посмотреть сообщение
Вообще генерация html 200 мс это нормально?
Нормально
Final Fantasy вне форума  
Старый 07.12.2014, 00:01   #5
editeur
Senior Member
 
Регистрация: 27.09.2013
Сообщений: 697
Бабло: $101520
По умолчанию

У тебя скорее всего диск загружен. Делаются какие-нибудь зверские сортировки с джойнами и группировкой. Если нагрузка на диск под 100% параллельность тебе уже не поможет. Поможет ssd и кеширование страниц или их частей. Прямо на диск можно кешировать, в оперативку не обязательно.

Можешь ксати еще посмотреть индексы на таблицах, может у тебя там фуллскан идет с твоими запросами.
editeur вне форума  
Старый 07.12.2014, 00:40   #6
Hector
hustle
 
Аватар для Hector
 
Регистрация: 02.05.2008
Адрес: 3d world
Сообщений: 12,890
Бабло: $1717315
ТС -->
Отправить сообщение для Hector с помощью Jabber
автор темы ТС По умолчанию

editeur, неа с дисками все ок. Индексы проставлены тоже. Просто что очень много последовательных выборок и я думал запилить их асинхронно. На ноде это делается очень просто. Кстати надо посмотреть еще что смарти может. Он тоже вроде кеширует.
Hector вне форума  
Старый 07.12.2014, 02:15   #7
chesser
автоматизирую интернеты
 
Аватар для chesser
 
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,362
Бабло: $470735
По умолчанию

Цитата:
Сообщение от Hector
Вообще генерация html 200 мс это нормально?
на грани фола, но пока еще норм

Цитата:
Сообщение от Hector
Кстати надо посмотреть еще что смарти может. Он тоже вроде кеширует.
ну там шаблоны просто скопиленные просто будут и все, толк от них маленький.
если тормозит mysql, то оптимизация рантайма php тебе не поможет. Надо либо рефакторинг кода делать, архитектуру смотреть и тд, либо с админской стороны mysql подтюнить, если ей для этого неиспользованные возможности.
__________________
USA и NL серверы и VPS | wiki | блог | Drupal | NginxТДС
Ave, Google, morituri te salutant! © chesser
chesser вне форума  
Старый 07.12.2014, 15:02   #8
Dippa
Senior Member
 
Регистрация: 14.02.2008
Адрес: Омск
Сообщений: 215
Бабло: $28640
По умолчанию

Кешировать не страницы целиком, а редкоменяемые элементы (менюшки, категории и подобные) чтобы с базы не брать каждый раз одно и тоже. Так же провести денормализацию mysql таблиц чтобы меньше джойнов стало.
Dippa вне форума  
Старый 07.12.2014, 16:19   #9
hellman
Senior Member
 
Регистрация: 14.09.2007
Сообщений: 367
Бабло: $47895
Отправить сообщение для hellman с помощью ICQ
По умолчанию

на пхп особо не пишу ибо не люблю его, но натыкался на пример как раз асинхронного вызова mysql на пхп в слайдах про фейсбук.

Вот тут есть
http://www.percona.com/live/mysql-co...ries-databases
hellman вне форума  
Старый 07.12.2014, 16:56   #10
Hector
hustle
 
Аватар для Hector
 
Регистрация: 02.05.2008
Адрес: 3d world
Сообщений: 12,890
Бабло: $1717315
ТС -->
Отправить сообщение для Hector с помощью Jabber
автор темы ТС По умолчанию

Детальнее покопался посмотрел что один виджет почти 100 мс отжирал. Dippa, так что да, надо кешировать это прежде всего.
hellman, ага посмотрю.
Hector вне форума