А вон справа столбик "Вакансии от Brainstorage", покликайте и поищите в требованиях диплом, найти будет непросто, везде требуются какие-то технологии + опыт работы.
IPv6 стоят рубль штучка, IPv4 - 60 рублей штучка. Соответственно расходы на пресловутые 10 айпёв будут дополнительно 10 рублей, если сервис доступен по IPv6, что вообще халява, а если ему нужны разные IPv4 ("обычные" айпи) - то это уже 400-600 рублей в месяц, что не совсем халява, но всё ещё вполне доступно.
А смысл заниматься "оптимизацией", если 80% этих действий бесполезны или вредны, вы же сами приводите свежую статью, где написано, что ничего оптимизировать не надо.
setTimeout как раз-таки отлично подходит для этой задачи, единственный момент надо предусмотреть, что скрипт может падать, то есть придется при запуске скрипта все эти таймауты высчитывать и анализировать с каким временем их задавать, но это несложно.
Например, пошёл у вас запрос, показать песни с жанрами house И trance. Вы, получив эти два слова, просто вбиваете в запрос "SELECT * FROM music where FIND_IN_SET(genre, "house") > 0 AND FIND_IN_SET(genre, "trance") > 0 Это по фен-шую и очень быстро (в случае, если вы не меняете список имеющихся жанров, а вы его, кажется, не собираетесь менять, да даже если и поменяете - ничего страшного не случится, просто нужно будет структуру таблицы чуть поменять, добавив/удалив значение)
Nc_Soft: Берёшь и делаешь, там в документации написано всё, как и везде, первым параметром в колбэк приходит ошибка, если это не null - делаешь с ней всё что хочешь, хочешь напрямую выводишь, хочешь своё что-то делаешь.
Тоже сразу думал, что проблема в индексах, пробовал без индексов тоже, скорость вставки _такая же_ (не уверен, дело ли в том, что индексы в памяти, или же mysql (точнее Percona) как-то хитро их пересчитывает). Кстати, выборка по индексу на подобной таблице с 15 миллионами записей проходит за сотые доли секунды.