Помогите настроить связку Mysql Apache Nginx

1 234
Andreyka
На сайте с 19.02.2005
Offline
822
#21
ivan-lev:
Тип чего, простите? о_О
Но ведь это менять архитектуру нужно и скрипты переписывать (либо костылями обвешиваться) - опять же не "админское" решение...

mysqldump раз в час по крону - вполне админское

Не стоит плодить сущности без необходимости
siv1987
На сайте с 02.04.2009
Offline
427
#22

Metal_Messiah, а структуру таблицы? О индексации полей не думали?

IL
На сайте с 20.04.2007
Offline
435
#23
Metal_Messiah:
# Query_time: 30.509671 Lock_time: 0.000027 Rows_sent: 0 Rows_examined: 686309
SELECT * FROM plmon WHERE ip='6340****2' AND name='****' AND proto='48' AND auth='********' AND authprov='4' ORDER BY id LIMIT 1;

С индексами сложности какие-то?

SHOW CREATE TABLE plmon 

Что покажет?

Andreyka:
mysqldump раз в час по крону - вполне админское

Костыль это а не решение.. вон 600к записей перебирается при каждом заходе..

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
Metal Messiah
На сайте с 01.08.2010
Offline
163
#24

Индекс id который основной. Структура

CREATE TABLE `plmon` (
`id` int(11) unsigned NOT NULL auto_increment,
`csbid` int(4) unsigned NOT NULL,
`ip` int(4) unsigned default NULL,
`lang` varchar(2) NOT NULL,
`auth` varchar(21) NOT NULL,
`name` varchar(50) NOT NULL,
`proto` int(1) unsigned NOT NULL,
`authprov` int(1) unsigned NOT NULL,
`slotid` int(1) unsigned default NULL,
`serverid` int(4) unsigned NOT NULL,
`serverip` int(4) unsigned default NULL,
`time` int(4) unsigned default NULL,
`country` varchar(2) NOT NULL,
`city` varchar(50) NOT NULL
PRIMARY KEY (`id`)
) ENGINE=MyISAM

Country и city думал индексами на другую таблицу сделать но потом понял что join дольше работает чем хранить лишние байты

anonymous, думай что говоришь и не забывай подписать отзыв :)
IL
На сайте с 20.04.2007
Offline
435
#25
Metal_Messiah:
но потом понял что join дольше работает чем хранить лишние байты

Как записи гонять - нормально.. а байты экономим.

Для начала

CREATE INDEX authprov_proto ON plmon (authprov,proto);

И в запросах можно для наглядности порядок поменять...

SELECT * FROM plmon WHERE proto='48' AND authprov='4' AND  ip='6340****2' AND name='****' AND auth='********' 

В результате что выдаст:

EXPLAIN SELECT * FROM plmon WHERE proto='48' AND authprov='4' AND  ip='6340****2' AND name='****' AND auth='********' 

А вообще - имеет смысл про оптмизацию MySQL почитать.

Andreyka
На сайте с 19.02.2005
Offline
822
#26
ivan-lev:


Костыль это а не решение.. вон 600к записей перебирается при каждом заходе..

Я уже писал - взять и переписать скрипты

IL
На сайте с 20.04.2007
Offline
435
#27
Andreyka:
Я уже писал - взять и переписать скрипты

Andreyka, похоже на разговор слепого с глухим.

Неужели, правда не видно разницы "переписать скрипты" vs "оптимизировать узкое место". Неужели, действительно трудозатраты на "переписать скрипты" /+ поменять архитектуру, мемкэш прикрутить или крон.. которого раз в час может оказаться мало/ сравнимы с "добавить индексов + настроить конфиги"[по идее то, что само собой разумеется нужно сделать первым делом, тем более с точки зрения Админа и не сделано в силу неопытности или желания набить "самостоятельных шишек" ]?

На обращение в сервис "жму газ - не едет" ответ от механика - движок заменим на помощнее - лучше тянуть будет.

N
На сайте с 06.05.2007
Offline
419
#28

ivan-lev, вы здесь недавно? это у Андрея такой стиль.

Кнопка вызова админа ()
Andreyka
На сайте с 19.02.2005
Offline
822
#29
ivan-lev:


На обращение в сервис "жму газ - не едет" ответ от механика - движок заменим на помощнее - лучше тянуть будет.

Если вы на легковушке собрались многотонные грузы возить - лучше заменить движок :)

siv1987
На сайте с 02.04.2009
Offline
427
#30

ТСу просто надо открыть для себя индексы (структуру индексов можно уже подкорректировать с учетом и остальных запросов)

CREATE INDEX ip ON plmon (ip, name, proto),

CREATE INDEX auth ON plmon (auth, authprov),

CREATE INDEX country ON plmon (country)

1 234

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий