Лог медленных запросов включал, больше 1 секунды редко что выполняется (если не долбануть одновременно на не закешированный запрос), также включал лог запросов без индексов. Тогда начинает сыпать всяким, например вот:
# Query_time: 0.000676 Lock_time: 0.000067 Rows_sent: 47 Rows_examined: 208 # Rows_affected: 0 # Full_scan: Yes Full_join: No Tmp_table: No Tmp_table_on_disk: No # Filesort: No Filesort_on_disk: No Merge_passes: 0 Priority_queue: No SET timestamp=1509474982; SELECT * FROM shop_category WHERE ( `left_key` >= 283 AND `right_key` <= 376 ) AND (type = 0);
SELECT c.* FROM shop_category c LEFT JOIN shop_category_routes cr ON c.id = cr.category_id WHERE (c.`depth` <= 2) AND (c.status = 1) AND (cr.route IS NULL OR cr.route = 'shop.quasar.cc/*') ORDER BY c.`left_key`; # User@Host: danforth[danforth] @ localhost [] # Thread_id: 771 Schema: shop_db QC_hit: No # Query_time: 0.000286 Lock_time: 0.000073 Rows_sent: 5 Rows_examined: 6 # Rows_affected: 0 # Full_scan: Yes Full_join: No Tmp_table: No Tmp_table_on_disk: No # Filesort: No Filesort_on_disk: No Merge_passes: 0 Priority_queue: No
Это не распараллелить вычисления. Я имел ввиду, что если есть массив данных и их нужно обрабатывать, то нельзя просто взять VPS +2 ядра и все пойдет быстрее. Пойдет, но не на столько, на сколько увеличилась в сумме производительность. Fan-In Fan-Out, Producer-Consumer: все это тут не прокатит.
Ну вы бы ему это не рассказывали, я сколько сижу на форуме, а он тут один из самых толковых людей по тех. части.
Прямо вижу чью-то речь передали. Но не свою.
Вы первых, PHP7 - язык, RoR - фреймворк. Сравнили теплое с мягким. Во-вторых, PHP не может почти не уступать Ruby, так как он однозначно быстрее Ruby. Вы собираетесь Real-Time рассчеты делать на PHP? Сомнительная затея. Под числодробилки берут язык cо статической типизацией, можно даже без GC. Ну а про уникальные фичи - достаточно лихо. Настолько уникальные, что вас, PHP-шников, никто не сможет повторить? Или вы их после релиза никому не покажете? На такие случаи есть NDA.
Почитайте про горизонтальное масштабирование, когда усвоите и адаптируете под горизонтальное масштабирование, тогда запускайтесь на самой простой VPS, при нагрузках добавляйте в кластер сервера. Так будет и дешевле и быстрее работать, и главное - возможность масштабироваться. Сейчас если вы даже возьмете супер-производительный сервер, при росте трафика единственное, что вам останется — выдирать волосы из головы, потому что быстро распаралеллить PHP по инстансам практически невозможно, придется переписывать на лету, а когда трафик идет на сайт, это не такая простая задача. Оптимизация — это то, что нужно делать превентивно, потому что когда припечет, будет уже поздно. Тем более, что у вас все крутится вокруг финансов.
Мой вердикт такой: если вы прям уж такие крутые перцы - ищите облако, там проще и быстрее можно добавить ресурсов, ну а если немного взглянуть правде в глаза - решайте проблемы по мере поступления. Чтобы кого-то с рынка подвинуть, нужно туда сначала войти.
To finish first, you must first finish.
Поддерживаю. Желательно тут http://sqlfiddle.com/
Какой есть способ публикации кусков кода в записях, вот мне нужно допустим вставить небольшой кусок стилей, javascript или PHP. Это не для целей инъекции, мне нужно чтобы юзеры могли просто видеть код, копировать и вставлять себе на сайты, мне не нужно чтобы он срабатывал. Полез в режим редактирования исходного кода, ввел <code > < /code>, визуально код вставляется, а как его через кнопочку вставлять? Ещё бы подсветку синтаксиса.
treshnyuk, у меня ноут тоже Lenovo, брал в африке в киоске. У меня знакомый работает в СЦ по ремонту ноутов и всякой техники. Он говорил мне, что у леново самая хорошая заменяемость запчастей, самые несерьезные поломки, и че-то там с текстолитом связано, за охлаждение тоже говорил что одна из самых продуманных систем, как и на HP. За HP говорил что там проблема с запчастями (меняется пол ноута в сборе), но в целом качество хорошее. В общем, по его рекомендации и брал себе леново. Не скажу что супер, но и не лажа. Греется не больше других, тупит знатно (подозреваю что винт на 5к оборотов), корпус немного хлюпенький. В следующий раз возьме себе что-то другое. На сколько я знаю, отзывался мой знакомый за леново, которые тогда ещё по IBM строились, в частности за линейку ThinkPad.
Сейчас взял бы себе какой-нибудь Dell, наверное.
Ни разу с таким не сталкивался, ни на Chrome, ни на Firefox.
Я люблю эксперименты, но в данном случае попахивает каким-то идиотизмом. Я опущу всякие детали, вроде зеркал сайта, и прочего. Не ясна цель эксперимента: что мы выясним в результате? Какой протокол лучше? Лучше для чего? Для SEO продвижения? А что если мне нужен HTTP/2?
Короче за тему эксперимента +, а за саму идею притянутую за уши -. Вот допустим сравнить SPA с сайт с серверным рендерингом страниц - годный эксперимент. Я бы потестил.
А потом отваливается все. Чем сложнее язык, тем выше порог вхождения, тем меньше даунов на рынке, но как минус, получаем высокую цену за разработчика.
Есть такая фишка, называется vendor lock-in, в которую и попал автор. 3 месяца обсасывать ТЗ, это конечно через чур, проект пишется не с нуля, и имеются какие-никакие знания предметной области, знание того, что не нравится а что нравится. За месяц можно составить ТЗ и начать реализовывать. На чем - не важно. Качественно писать можно практически на чем угодно. PHP на долгоиграющих задачах лажовый (импорт больших файлов, постоянные синхронизации).
Нужно набраться сил, терпения и денег, и постепенно переезжать на фреймворк или самопис. В идеале, вам нужно сесть, и набросать список причин, по которым вы хотите уйти с битрикса, после чего составить ТЗ с технически-подкованным человеком, расписать все детально и по пунктам.
По поводу AngularJS и прочего, я бы так не горячился. Можно взять Python, так как на ряде задач он удобнее чем PHP. Если не хотите хрупкий сайт, покрывайте тестами, делайте CI, при билде автоматически прогоняются тесты - если что-то отвалилось, то на продакшен билд не пойдет. Но все это стоит денег, и не всякий интернет-магазин настолько доходный, что может себе позволить заморочится этим.
По поводу Yii2 - я б не рекомендовал брать его под магазин.
P.S. Если у вас что-то отваливается постоянно, то иногда помогает обычный ресет проекту, перенести заново на чистую установку, переписать расширенный функционал заново, правильно вписав в архитектуру. За несколько лет проект облипает легаси-кодом, который можно в сто раз лучше переписать и избавиться от большинства проблем.