@ReFeRy

Есть ли разница в производительности PHP при работе с однобайтовой и мультибайтовой кодировками?

Перевёл сайт с win-1251 на utf-8. На сайте приличная посещаемость и довольно много работы с текстами. До этого не было даже намёка на то, что предел производительности сервера близко, а после этого сервер начал притормаживать (на сервере только мои сайты, обсуждаемый сайт создаёт 95% нагрузки). Администрирование это совсем не моё, поэтому узкое место найти затрудняюсь. Наплыва посещаемости не было, проблемы начались сразу после перехода на новую кодировку.

Сильно ли отличается производительность PHP при работе с win-1251 и utf-8?
Или мне надо искать причины тормозов совсем в ином месте...
  • Вопрос задан
  • 257 просмотров
Пригласить эксперта
Ответы на вопрос 4
index0h
@index0h
PHP, Golang. https://github.com/index0h
Кодировка влияет на производительность примерно так же, как форма лица на аэродинамику бегуна.
Копайте в сторону индексов БД, очень вероятно проблема зарыта где-то там.
Ответ написан
65536
@65536
Уже лет 10 как, всё должно быть в ютф, если нет каких-то внешних требований. Иначе может резко упасть ваша производительность, а не сервера. Проблемы с разгадыванием и конвертацией кодировок могут добавить несколько дней бесплатаной работы.

Если по теме, то нагрузка может возрасти когда выбирается (и используется!) весь миллион записей с текстовыми полями когда они не нужны, то есть где-то было сделано select * и пхп считывает каждую. Но даже если так, то нагрузка возросла бы всего в 4 раза, или в 5, не помню (по текстовым полям если считать).
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Скорее всего, всё дело в ПОЛНОМ циклическом переборе символов в тексте.
Ответ написан
toxa82
@toxa82
Функции для работы с текстом mb_* намного тормознутей их аналогов без префикса mb_. Но общая производительность зависит от кол-ва их использования.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы