Супер простая высокая производительность http сервер

Часто неиспользованный, но более подробный

ПОКАЖИТЕ ПОЛНЫЙ PROCESSLIST

удобно, но не так хорош, как потрясающий анализатор запроса непредприятия - включает как так

    mysql> set profiling=1;
    Query OK, 0 rows affected (0.00 sec)

Эти два являются запросами спама для заполнения таблицы профилей,

        
    mysql> select * from _test.customers;
    ERROR 1146 (42S02): Table '_test.customers' doesn't exist

    mysql> select * from test.customers limit 0;
    Empty set (0.00 sec)
    

Получите список всех представленных запросов и их продолжительность

        
    mysql> show profiles;
    +----------+------------+-------------------------------+
    | Query_ID | Duration   | Query                         |
    +----------+------------+-------------------------------+
    |        1 | 0.00013400 | select * from _test.customers |
    |        2 | 0.01546500 | select * from test.customers  |
    +----------+------------+-------------------------------+

Информация о дисплее для последнего запроса просто была бы "выставочным профилем" - или можно указать запрос

  
    mysql> show profile for query 2;
    +----------------------+----------+
    | Status               | Duration |
    +----------------------+----------+
    | starting             | 0.000053 |
    | checking permissions | 0.000007 |
    | Opening tables       | 0.000014 |
    | System lock          | 0.000006 |
    | Table lock           | 0.000008 |
    | init                 | 0.000065 |
    | optimizing           | 0.000003 |
    | executing            | 0.000201 |
    | end                  | 0.000003 |
    | query end            | 0.000002 |
    | freeing items        | 0.000020 |
    | logging slow query   | 0.000002 |
    | cleaning up          | 0.000004 |
    +----------------------+----------+
    13 rows in set (0.00 sec)

Можно также запросить определенную информацию, такую как ЦП, БЛОК IO и ПОДКАЧКИ среди других (все на странице справочника)

  
    mysql> show profile cpu for query 2;
    +----------------------+----------+----------+------------+
    | Status               | Duration | CPU_user | CPU_system |
    +----------------------+----------+----------+------------+
    | starting             | 0.000056 | 0.001000 |   0.000000 |
    | checking permissions | 0.000007 | 0.000000 |   0.000000 |
    | Opening tables       | 0.000010 | 0.000000 |   0.000000 |
    | System lock          | 0.000005 | 0.000000 |   0.000000 |
    | Table lock           | 0.000007 | 0.000000 |   0.000000 |
    | init                 | 0.000059 | 0.000000 |   0.000000 |
    | optimizing           | 0.000003 | 0.000000 |   0.000000 |
    | statistics           | 0.015022 | 0.000000 |   0.000000 |
    | preparing            | 0.000014 | 0.001000 |   0.000000 |
    | executing            | 0.000004 | 0.000000 |   0.000000 |
    | Sending data         | 0.000245 | 0.000000 |   0.000000 |
    | end                  | 0.000004 | 0.000000 |   0.000000 |
    | query end            | 0.000002 | 0.000000 |   0.000000 |
    | freeing items        | 0.000021 | 0.000000 |   0.000000 |
    | logging slow query   | 0.000002 | 0.000000 |   0.000000 |
    | cleaning up          | 0.000004 | 0.000000 |   0.000000 |
    +----------------------+----------+----------+------------+
    16 rows in set (0.00 sec)

Не забывайте отключать его впоследствии, как вход добавляет наверху.

  
    mysql> set profiling=0;
    Query OK, 0 rows affected (0.00 sec)

3
задан 14 April 2011 в 15:10
3 ответа

Вы действительно думаете, что существует потребность в еще одном URL shortener? Существуют именно так многие из них вокруг..., если Вам случайно не удалось получить очень короткое и соответствующее доменное имя, я просто не думаю, что Ваш сайт будет замеченным любым. Просто мои два цента, конечно.

Так или иначе, к технической части:

  • В каком языке Вы собираетесь записать свое приложение?
  • На которой операционной системе Вы планируете выполнить его?
  • Вы будете использовать бесплатное или коммерческое программное обеспечение?

Трудно ответить на Ваш вопрос, даже не зная это.

Единственный ответ, который может иметь любой смысл здесь, "избегают Java как чумы". Сервер JAVA-приложения является излишеством для многих приложений, и это наверняка было бы излишество для такого простого.

Я пошел бы для Linux/Apache/MySQL/PHP сюда..., если я мог бы думать о каком-либо серьезном основании даже запустить проект, конечно.


Править:

Хорошо, теперь это имеет немного больше смысла; но предложение, чтобы запуститься максимально простой и затем волноваться об увеличении масштаба все еще допустимо. Если Ваше приложение действительно настолько просто, любой достойный веб-сервер/language/database комбинация должен смочь обработать много запросов в секунду на современных аппаратных средствах (но я все еще настоятельно рекомендую избежать Java).

Если бы производительность является главной, я пошел бы с приложением CGI, записанным в C; это будет самым быстрым возможным решением, порядки величины быстрее, чем какой-либо интерпретируемый или язык VM; и наличие его делает простые ВСТАВКИ, и ВЫБИРАЕТ к базе данных, не должно быть настолько трудным. Но я думаю, что ЛАМПА более чем достаточно для Ваших потребностей... они на самом деле выполняют Facebook на ней, Вы знаете?

2
ответ дан 3 December 2019 в 07:16
  • 1
    mod_perl был бы быстрее, чем cgi в C. Модуль C для апача или nginx был бы быстрее все же. И Facebook использует HipHop для компиляции их PHP в C и использует механизм события для вызова его который технически isn' t стек LAMP. –  user6738237482 3 June 2010 в 23:32
  • 2
    Вы можете всегда , находят что-то быстрее, если Вы роете достаточно глубоко; Вы могли даже веб-сервер самокрутки. Но я don' t думают, что для такого простого приложения будет нужно что-то вроде этого, даже если это действительно выросло до тысяч запросов в секунду. –  Massimo 4 June 2010 в 00:00

Они просто записывают данные, или они также передают что-то вроде обратно интереса? Если они просто регистрируются, то просто используют апача и бросаются, апач входит в hadoop. Если они должны возвратить своего рода данные, то мне нисколько не ясно, как они получают данные, которые они возвращают.

Однако, апачский набор до просто возврата статический файл для любого запроса довольно проклят быстро.

0
ответ дан 3 December 2019 в 07:16

Во-первых, я знаю, что Вы сказали, что это не URL shortener, но если это - что-либо подобное, RDBMS является ужасным способом хранить эти данные; с тех пор нет никаких реальных отношений ни между какими двумя частями данных, Вы хотите плоский механизм устройства хранения данных. Рассмотрите монго (или Диван, в зависимости от Вашего фактического пространства решения).

Относительно Вашего решения, остерегайтесь преждевременной оптимизации. Существует много способов сойти с ума с этим; так как Вы спросили, самое сумасшедшее, о котором я могу думать бесцеремонно, могло бы быть должно разжечь Лак, записать, что все Ваши страницы в VCL, и иметь его соединяются с кэш-памятью на бэкенде, чтобы сохранить и получить соответствующие данные. Но реалистично, это batshit сумасшедший, если Вы не являетесь объектом очевидно абсурдных загрузок.

0
ответ дан 3 December 2019 в 07:16

Теги

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