miércoles, 16 de julio de 2014

Afinamiento del Garbage Collector para JBoss

Previamente a realizar cualquier cambio en la elección del garbage collector, ejecuta tu aplicación y deja que la JVM seleccione el collector mas adecuado, si es necesario redimensiona el Heap para mejorar el rendimiento. Si el desempeño no cumple tus objetivos realiza lo siguiente pasos:

1. Si la aplicación mantiene pequeños conjuntos de datos usa serial collector, habilítalo con: -XX:+UseSerialGC

2. Si la aplicación se ejecuta en un solo cpu y no tiene requerimientos de pausa por GC
· Deja que la JVM seleccione el collector
· Selecciona el serial collector –XX:+UseSerialGC

3. Si a) Si el máximo rendimiento es tu primera prioridad y b) no hay requerimientos de pausa o las pausas son de un segundo o mas pero aceptables
· Deja que la JVM selección el collector
· Selecciona el parallel collector con –XX:+UseParallelGC y opcionalmente habilita el parallel compaction con –XX:
+UseParallelOldGC

4. Si el tiempo de respuesta es más importante que el throuhgput y las pausas del garbage collection son cortas.
· Selecciona concurrent collector con –XX:+UseConcMarkSweepGC
Compartir:

Afinamiento de la JVM para JBoss

En las versiones mas recientes de la Sun Java Virtual Machine – JVM denominada también “HotSpot”, se ha implementado mejoras en dos aspectos importantes como son el proceso de garbage collector y en la parametrizacion de los pools de memoria que usan las aplicaciones denominado HEAP.

La configuración por defecto de la JVM normalmente es adecuada para iniciar un periodo de observación del comportamiento de las aplicaciones, si la elección de los parámetros por defecto no satisface los requerimientos entonces es posible realizar ciertas tareas de afinamiento de la JVM para mejorar el  desempeño de las aplicaciones.

Generaciones

El Heap, la memoria utilizada por la JVM para almacenar los datos se distribuye en los siguientes pools:



Se divide el Heap partiendo de la hipótesis de que gran parte de los objetos reside un corto tiempo en el heap. El Eden es el área donde se crean los nuevos objetos, el área de Survivor es el área donde se reciclan los objetos intermedios, el área Virtual es una área de reserva para el crecimiento del pool, en total existen dos áreas de Survivor y siempre uno debe estar disponible. El Tenured es un pool donde se almacenan los objetos mas antiguos, y el área permanente (Perm) es donde residen los objetos que estarán siempre o permanentemente en la memoria como son los datos necesarios para la operación de la JVM y aquellos que describen clases y métodos. La generación young, esta conformada por el Eden y los dos espacios de survivor

Garbage Collection

Muchos de los objetos “mueren jóvenes”, es decir en el la generación young, esto se representa en la figura 2, cuando el young esta lleno se produce un garbage Collection llamado minor Collection, que elimina de la memoria todos los objetos de la generacion young que ya no son alcanzables por ningun puntero de alguna aplicación que se este
ejecutando. En un ciclo tipico de minor Collection una fraccion de los objetos que residen en el young son movidos al tenured. Cuando el tenured se llena ocurre un major collection que resulta en una recoleccion de objetos inalcanzables de todo el head, un minor Collection normalmente es mucho mas rapido que un major Collection que hace
un barrido de todo el pool de heap.



Medidas de Desempeño del Garbage Collection

Las siguiente son medidas de desempeño a tener en cuanta:

Throughput: es el porcentaje del total de tiempo que no se hace garbage collection sobre periodos largos de tiempo. El throughput incluye el tiempo gastado en hacer asignaciones.

Pausas: son las veces que la aplicación parece no responder porque el garbage collection esta ocurriendo.

Footprint: es el trabajo conjunto de un proceso, medido en caché de páginas y líneas

Promptness: es el tiempo transcurrido entre que el objeto será desalojado (muere) y cuando se disponga de la memoria

Las medidas más importantes son las dos primeras y sirven para priorizar objetivos.

Garbage Collector Disponibles

Serial Collector

Usa un solo thread para el proceso de garbage collection, es ideal para maquinas con un solo cpu. Para maquinas con mas de un cpu es conveniente cuando se mantiene un conjunto pequeño de datos aproximadamente menor a 100 MB.

Se selecciona por defecto en ciertas plataformas pero se puede habilitar con
–XX:+UserSerialGC.

Parallel Colector

Ejecuta los minor collection en paralelo, para los major collection usa un solo thread presenta un mejor desempeño en maquinas con varios cpu, es ideal para aplicaciones que mantienen medianos o grandes conjuntos de datos. En sistemas operativos multithread con jdk 5.0 se selecciona por defecto sin embargo se puede seleccionar explícitamente con: –XX:+UseParallelGC

En J2SDK 5.0 fue introducida la característica de parallel compaction, esta permite ejecutar los procesos major collection en paralelo. Se habilita con la opcion:
-XX:+UseParallelOldGC

En maquinas con N cpus, el parallel collector usa N threads, el numero de garbage collector threads puede controlarse con: -XX:ParallelGCThreads=<N>

En maquinas con un solo cpu, el serial collector podría ser mejor por el overhead que cusa la sincronización de los threads en paralelo, cuando se usa el parallel collector con un solo cpu.

Concurrent Collector

Ejecuta el trabajo del garbage collection concurrentemente con la aplicación para tener pausas cortas de garbage collection. Se usa en aplicaciones que mantienen medianos o grandes conjuntos de datos. Es conveniente cuando el tiempo de respuesta es mas importante que el throughput en general (esta técnica puede reducir el desempeño de la aplicación). Se habilita con –XX:+UseConcMarkSweepGC
Compartir:

Afinamiento de la Memoria de Linux para JBoss

Parámetro shmmax

El parámetro shmmax es usado para definir el tamaño máximo en (bytes) para el segmento de memoria compartida. Es conveniente incrementarlo para aplicaciones que usen grandes cantidades de memoria. Se recomienda definirlo en 2GB por defecto en algunas distribuciones de RedHat Linux es de 32MB. Tener presente que el tamaño máximo de este parámetro es de 4GB.

Hugepages

Hugepages puede potencialmente proveer un alto desempeño a partir del hardware reduciendo el uso del cache del CPU. Los beneficios generalmente lo obtienen las aplicaciones que usan cantidades grandes de memoria para almacenar sus datos. Para que las aplicaciones puedan explotar esta opción, la característica de Hugepages debe ser soportada por el sistema operativo.

Para descubrir si el kernel soporta Hugepages, ejecuta:

[root@localhost ~]# grep Huge /proc/meminfo
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
Hugepagesize: 4096 kB
[root@localhost ~]#

Para hacer que el HEAP use una huge page de al menos 2GB, podemos configurar los parámetros anteriormente descritos de la siguiente manera:

Configura shmmax dinámicamente mediante:

#echo 2147483647 > /proc/sys/kernel/shmmax

O puedes setearlo en el archivo /etc/sysctl.conf, agregando la siguiente linea:

kernel.shmmax = 2147483647

Configura el parámetro nr_hugepages a 1000 dinámicamente, ejecutando el siguiente comando:

#echo 1000 > /proc/sys/vm/nr_hugepages

O agrega el en el archive /etc/sysctl.conf la siguiente linea:

vm.nr_hugepages = 1000

En las opciones de la JVM de Sun agrega la siguiente opción: XX:+UseLargePages

Es necesario que reinicies el sistema para asignar las “Hugepages”, porque las Hugepages requieren grandes áreas de memoria física contigua, es decir la memoria física debe ser mapeada a las páginas que la requieran. Es recomendable configurar estos parámetros en el archivo /etc/sysctl.conf para asignar la Hugepages en  tiempo de inicio del sistema.
Compartir:

Afinamiento de IO de Linux para JBoss

Parametro tcp_keepalive_intvl

La variable tcp_keepalive_intvl le dice al kernel cuánto tiempo es la espera de una respuesta en cada KeepAlive. Este valor muy importante cuando se intenta calcular cuánto tiempo pasará antes de que una conexión se de por “muerta”.

La variable tiene un valor por defecto de 75 segundos. Los valores por defecto de tcp_keepalive_probes y tcp_keepalive_intvl pueden ser utilizados para obtener el valor por defecto que tomará de tiempo antes de que la conexión se de por perdida.

Con los valores por defecto de envío de 9 paquetes con 75 segundos para cada uno, que se tardaría aproximadamente 11 minutos antes de la conexión agote el tiempo, contando a partir del momento en que se inicie el sondeo puede pasar 2 horas desde la última vez que se vio tráfico en la conexión, este tiempo esta controlado por el parámetro tcp_keepalive_time que tiene un valor por defecto de 7200 (2 horas) segundos no se recomienda disminuirlo para evitar trafico en la red.

Se recomienda 15 segundos en este parámetro, para cambiarlo ejecuta el siguiente comando:

[root@localhost ~]# echo 15 > /proc/sys/net/ipv4/tcp_keepalive_intvl

Parametro tcp_keepalive_probes

La variable tcp_keepalive_probes le dice al kernel cuántos KeepAlive TCP hay que enviar antes de que decida dar por terminada una conexión rota.

Esta variable tiene un valor, que en general no debe ser superior a 50. El valor por defecto es 9, antes de decirle a la aplicación que se ha interrumpido la conexión.

Se recomienda 5 intentos de valor en este parámetro, para cambiarlo ejecuta el siguiente comando:

[root@localhost ~]# echo 5 > /proc/sys/net/ipv4/tcp_keepalive_probes
Compartir:

Afinamiento del Kernel de Linux para JBoss


JBoss AS y la Java Virtual Machine pueden alcanzar un mejor desempeño en un sistema operativo afinado. En un entorno como Linux, es necesario ajustar algunos parámetros del kernel para tal fin.

Parametro file-max

El Parámetro file-max /proc/sys/fs/file-max, define el máximo numero de archivos que el kernel de Linux puede manejar. Este parámetro generalmente se afina para mejorar el manejo de archivos, incrementando el valor de /proc/sys/fs/file-max a un valor razonable como 256 por cada 4 MB de RAM. Ejemplo: para un servidor con 128 MB de RAM, asigna el valor 8192. Resultado de 128/4=32; 32*256=8192.

Para visualizar el valor por defecto ejecuta el comando:

#cat /proc/sys/fs/file-max

Para ajustar el valor para un servidor con 1GB de RAM, realiza los siguientes pasos desde una consola o terminal:

# echo "65536" >/proc/sys/fs/file-max

Para que no tengas que tipear otra vez el comando anterior después de reiniciar el servidor, configure el file-max en el archive sysctl.conf, sigue los pasos indicados:

Edita el archivo /etc/sysctl.conf y agrega la siguiente línea:
fs.file-max = 8192

Reinicia el servidor o el servicio de red, para que los cambio tengan efecto.
#service network restart

Parametro ulimit

Linux tiene un límite máximo de procesos por usuario. Esta característica nos permite controlar el número de procesos que un usuario puede tener en el servidor.

Para proveer mas desempeño, podemos configurar el límite de procesos para el súper usuario root a ilimitado. Edita el archivo .bashrc con vi /root/.bashrc y agrega la siguiente línea:

-u unlimited

Para que tenga efecto el cambio, cierra la sesión y reingresa al sistema como root

Para ver todos los limites que puedes imponer, ejecuta ulimit –a.

[root@localhost ~]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 16384
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 16384
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
[root@localhost ~]#

Incrementa el limite de sistema que determina los archivos abiertos que pueden haber por instancia de un proceso en RedHat. Incrementa el valor de este limite en la sesión actual que ejecuta JBoss al valor recomendado de 8000, usando el comando:

[root@localhost ~]# ulimit -n 8000

Para confirmar ejecuta el siguiente comando:

[root@localhost ~]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 16384
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 8000
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 16384
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
[root@localhost ~]#
Compartir:

domingo, 8 de diciembre de 2013

Lista de Microdata Schemas

Este sitio ofrece una colección de esquemas , es decir , las etiquetas HTML , que los webmasters pueden utilizar para el marcado de sus páginas de manera reconocidos por los principales proveedores de búsqueda . Los motores de búsqueda incluyendo Bing, Google , Yahoo! y Yandex confían en este margen de beneficio para mejorar la visualización de los resultados de búsqueda, por lo que es más fácil para las personas a encontrar las páginas web adecuadas.
Muchos sitios se generan a partir de datos estructurados, que a menudo se almacenan en bases de datos. Cuando estos datos se formatea en HTML , que se vuelve muy difícil de recuperar los datos estructurados originales . Muchas aplicaciones, especialmente los motores de búsqueda, pueden beneficiarse enormemente de un acceso directo a estos datos estructurados. Marcado On- página permite motores de búsqueda para entender la información de las páginas web y proporcionar resultados de búsqueda más ricos con el fin de facilitar a los usuarios la búsqueda de información relevante en la web . Marcado también puede permitir nuevas herramientas y aplicaciones que hacen uso de la estructura.
Un vocabulario de marcado compartida hace que sea más fácil para los webmasters para decidir sobre un esquema de marcas y obtener el máximo beneficio de sus esfuerzos. Así , en el espíritu de sitemaps.org , los motores de búsqueda se han unido para ofrecer una colección compartida de los esquemas que los webmasters pueden utilizar.

About Pagehttp://schema.org/AboutPage
Accounting Servicehttp://schema.org/AccountingService
Administrative Areahttp://schema.org/AdministrativeArea
Adult Entertainmenthttp://schema.org/AdultEntertainment
Aggregate Offerhttp://schema.org/AggregateOffer
Aggregate Ratinghttp://schema.org/AggregateRating
Airporthttp://schema.org/Airport
Amusement Parkhttp://schema.org/AmusementPark
Animal Shelterhttp://schema.org/AnimalShelter
Apartment Complexhttp://schema.org/ApartmentComplex
Aquariumhttp://schema.org/Aquarium
Art Galleryhttp://schema.org/ArtGallery
Articlehttp://schema.org/Article
Attorneyhttp://schema.org/Attorney
Audio Objecthttp://schema.org/AudioObject
Auto Body Shophttp://schema.org/AutoBodyShop
Auto Dealerhttp://schema.org/AutoDealer
Automated Tellerhttp://schema.org/AutomatedTeller
Automotive Businesshttp://schema.org/AutomotiveBusiness
Auto Parts Storehttp://schema.org/AutoPartsStore
Auto Rentalhttp://schema.org/AutoRental
Auto Repairhttp://schema.org/AutoRepair
Auto Washhttp://schema.org/AutoWash
Bakeryhttp://schema.org/Bakery
Bank or Credit Unionhttp://schema.org/BankOrCreditUnion
Bar or Pubhttp://schema.org/BarOrPub
Beachhttp://schema.org/Beach
Beauty Salonhttp://schema.org/BeautySalon
Bed and Breakfasthttp://schema.org/BedAndBreakfast
Bike Storehttp://schema.org/Bike Store
Bloghttp://schema.org/Blog
Blog Postinghttp://schema.org/BlogPosting
Body of Waterhttp://schema.org/Body Of Water
Bookhttp://schema.org/Book
Book Format Typehttp://schema.org/BookFormatType
Book Storehttp://schema.org/BookStore
Booleanhttp://schema.org/Boolean
Bowling Alleyhttp://schema.org/BowlingAlley
Breweryhttp://schema.org/Brewery
Buddhist Templehttp://schema.org/BuddhistTemple
Business Eventhttp://schema.org/BusinessEvent
Bus Stationhttp://schema.org/BusStation
Bus Stophttp://schema.org/BusStop
Cafe or Coffee Shophttp://schema.org/CafeOrCoffeeShop
Campgroundhttp://schema.org/Campground
Canalhttp://schema.org/Canal
Casinohttp://schema.org/Casino
Catholic Churchhttp://schema.org/CatholicChurch
Cemeteryhttp://schema.org/Cemetery
Checkout Pagehttp://schema.org/CheckoutPage
ChildCarehttp://schema.org/ChildCare
Childrens Eventhttp://schema.org/ChildrensEvent
Churchhttp://schema.org/Church
Cityhttp://schema.org/City
City Hallhttp://schema.org/CityHall
Civic Structurehttp://schema.org/CivicStructure
Clothing Storehttp://schema.org/ClothingStore
Collection Pagehttp://schema.org/CollectionPage
College or Universityhttp://schema.org/CollegeOrUniversity
Comedy Clubhttp://schema.org/ComedyClub
Comedy Eventhttp://schema.org/ComedyEvent
Computer Storehttp://schema.org/ComputerStore
Contact Pagehttp://schema.org/ContactPage
Contact Pointhttp://schema.org/ContactPoint
Continenthttp://schema.org/Continent
Convenience Storehttp://schema.org/ConvenienceStore
Corporationhttp://schema.org/Corporation
Countryhttp://schema.org/Country
Courthousehttp://schema.org/Courthouse
Creative Workhttp://schema.org/CreativeWork
Crematoriumhttp://schema.org/Crematorium
Dance Eventhttp://schema.org/DanceEvent
Dance Grouphttp://schema.org/DanceGroup
Data Typehttp://schema.org/DataType
Datehttp://schema.org/Date
Day Spahttp://schema.org/DaySpa
Defense Establishmenthttp://schema.org/DefenceEstablishment
Dentisthttp://schema.org/Dentist
Department Storehttp://schema.org/Department Store
Distancehttp://schema.org/Distance
Dry Cleaning or Laundry servicehttp://schema.org/DryCleaningOrLaundry
Durationhttp://schema.org/Duration
Educational Organizationhttp://schema.org/EducationalOrganization
Education Eventhttp://schema.org/EducationEvent
Electricianhttp://schema.org/Electrician
Electronics Storehttp://schema.org/ElectronicsStore
Elementary Schoolhttp://schema.org/ElementarySchool
Embassyhttp://schema.org/Embassy
Emergency Servicehttp://schema.org/EmergencyService
Employment Agencyhttp://schema.org/EmploymentAgency
Energyhttp://schema.org/Energy
Entertainment Businesshttp://schema.org/EntertainmentBusiness
Enumerationhttp://schema.org/Enumeration
Eventhttp://schema.org/Event
Event Venuehttp://schema.org/EventVenue
Exercise Gymhttp://schema.org/ExerciseGym
Fast Food Restauranthttp://schema.org/FastFoodRestaurant
Festivalhttp://schema.org/Festival
Financial Servicehttp://schema.org/FinancialService
Fire Stationhttp://schema.org/FireStation
Floathttp://schema.org/Float
Floristhttp://schema.org/Florist
Food Establishmenthttp://schema.org/FoodEstablishment
Food Eventhttp://schema.org/FoodEvent
Furniture Storehttp://schema.org/FurnitureStore
Garden Storehttp://schema.org/GardenStore
Gas Stationhttp://schema.org/GasStation
Gated Residence Communityhttp://schema.org/GatedResidenceCommunity
General Contractorhttp://schema.org/GeneralContractor
Geographic Coordinateshttp://schema.org/GeoCoordinates
Geographic Shapehttp://schema.org/GeoShape
Golf Coursehttp://schema.org/GolfCourse
Government Buildinghttp://schema.org/GovernmentBuilding
Government Officehttp://schema.org/GovernmentOffice
Government Organizationhttp://schema.org/GovernmentOrganization
Grocery Storehttp://schema.org/GroceryStore
Hair Salonhttp://schema.org/HairSalon
Hardware Storehttp://schema.org/HardwareStore
Health and Beauty Businesshttp://schema.org/HealthAndBeautyBusiness
Health Clubhttp://schema.org/HealthClub
High Schoolhttp://schema.org/HighSchool
Hindu Templehttp://schema.org/HinduTemple
Hobby Shophttp://schema.org/HobbyShop
Home and Construction Businesshttp://schema.org/HomeAndConstructionBusiness
Home Goods Storehttp://schema.org/HomeGoodsStore
Hospitalhttp://schema.org/Hospital
Hostelhttp://schema.org/Hostel
Hotelhttp://schema.org/Hotel
House Painterhttp://schema.org/HousePainter
HVAC Businesshttp://schema.org/HVACBusiness
Ice Cream Shophttp://schema.org/IceCreamShop
Image Galleryhttp://schema.org/ImageGallery
Image Objecthttp://schema.org/ImageObject
Insurance Agencyhttp://schema.org/InsuranceAgency
Intangiblehttp://schema.org/Intangible
Integerhttp://schema.org/Integer
Internet Cafehttp://schema.org/InternetCafe
Item Availabilityhttp://schema.org/ItemAvailability
Item Listhttp://schema.org/ItemList
Item Pagehttp://schema.org/ItemPage
Jewelry Storehttp://schema.org/JewelryStore
Job Postinghttp://schema.org/JobPosting
Lake Body of Waterhttp://schema.org/LakeBodyOfWater
Landformhttp://schema.org/Landform
Landmarks or Historical Buildingshttp://schema.org/LandmarksOrHistoricalBuildings
Languagehttp://schema.org/Language
Legislative Buildinghttp://schema.org/LegislativeBuilding
Libraryhttp://schema.org/Library
Liquor Storehttp://schema.org/LiquorStore
Literary Eventhttp://schema.org/LiteraryEvent
Local Businesshttp://schema.org/LocalBusiness
Locksmithhttp://schema.org/Locksmith
Lodging Businesshttp://schema.org/LodgingBusiness
Maphttp://schema.org/Map
Masshttp://schema.org/Mass
Media Objecthttp://schema.org/MediaObject
Medical Clinichttp://schema.org/MedicalClinic
Medical Organizationhttp://schema.org/MedicalOrganization
Mens Clothing Storehttp://schema.org/MensClothingStore
Middle Schoolhttp://schema.org/MiddleSchool
Mobile Phone Storehttp://schema.org/MobilePhoneStore
Mosquehttp://schema.org/Mosque
Motelhttp://schema.org/Motel
Motorcycle Dealerhttp://schema.org/MotorcycleDealer
Motorcycle Repairhttp://schema.org/MotorcycleRepair
Mountainhttp://schema.org/Mountain
Moviehttp://schema.org/Movie
Movie Rental Storehttp://schema.org/MovieRentalStore
Movie Theaterhttp://schema.org/MovieTheater
Moving Companyhttp://schema.org/MovingCompany
Museumhttp://schema.org/Museum
Music Albumhttp://schema.org/MusicAlbum
Music Eventhttp://schema.org/MusicEvent
Music Grouphttp://schema.org/MusicGroup
Music Playlisthttp://schema.org/MusicPlaylist
Music Recordinghttp://schema.org/MusicRecording
Music Storehttp://schema.org/MusicStore
Music Venuehttp://schema.org/MusicVenue
Music Video Objecthttp://schema.org/MusicVideoObject
Nail Salonhttp://schema.org/NailSalon
News Articlehttp://schema.org/NewsArticle
Non-governmental Organizationhttp://schema.org/NGO
Night Clubhttp://schema.org/NightClub
Notaryhttp://schema.org/Notary
Numberhttp://schema.org/Number
Nutrition Informationhttp://schema.org/NutritionInformation
Ocean Body of Waterhttp://schema.org/OceanBodyOfWater
Offerhttp://schema.org/Offer
Offer Item Conditionhttp://schema.org/OfferItemCondition
Office Equipment Storehttp://schema.org/OfficeEquipmentStore
Opticianhttp://schema.org/Optician
Organizationhttp://schema.org/Organization
Outlet Storehttp://schema.org/OutletStore
Paintinghttp://schema.org/Painting
Parkhttp://schema.org/Park
Parking Facilityhttp://schema.org/ParkingFacility
Pawn Shophttp://schema.org/PawnShop
Performing Arts Theaterhttp://schema.org/PerformingArtsTheater
Performing Grouphttp://schema.org/PerformingGroup
Personhttp://schema.org/Person
PetStorehttp://schema.org/PetStore
Pharmacyhttp://schema.org/Pharmacy
Photographhttp://schema.org/Photograph
Physicianhttp://schema.org/Physician
Placehttp://schema.org/Place
Place of Worshiphttp://schema.org/PlaceOfWorship
Playgroundhttp://schema.org/Playground
Plumberhttp://schema.org/Plumber
Police Stationhttp://schema.org/PoliceStation
Pondhttp://schema.org/Pond
Postal Addresshttp://schema.org/PostalAddress
Post Officehttp://schema.org/PostOffice
Preschoolhttp://schema.org/Preschool
Producthttp://schema.org/Product
Professional Servicehttp://schema.org/ProfessionalService
Profile Pagehttp://schema.org/ProfilePage
Public Swimming Poolhttp://schema.org/PublicSwimmingPool
Quantityhttp://schema.org/Quantity
Radio Stationhttp://schema.org/RadioStation
Ratinghttp://schema.org/Rating
Real Estate Agenthttp://schema.org/RealEstateAgent
Recipehttp://schema.org/Recipe
Recycling Centerhttp://schema.org/RecyclingCenter
Reservoirhttp://schema.org/Reservoir
Residencehttp://schema.org/Residence
Restauranthttp://schema.org/Restaurant
Reviewhttp://schema.org/Review
River Body of Waterhttp://schema.org/RiverBodyOfWater
Roofing Contractorhttp://schema.org/RoofingContractor
RV Parkhttp://schema.org/RVPark
Sale Eventhttp://schema.org/SaleEvent
Scholarly Articlehttp://schema.org/ScholarlyArticle
Schoolhttp://schema.org/School
Sculpturehttp://schema.org/Sculpture
Sea Body of Waterhttp://schema.org/SeaBodyOfWater
Search Results Pagehttp://schema.org/SearchResultsPage
Self Storagehttp://schema.org/SelfStorage
Shoe Storehttp://schema.org/ShoeStore
Shopping Centerhttp://schema.org/ShoppingCenter
Single Family Residencehttp://schema.org/SingleFamilyResidence
Site Navigation Elementhttp://schema.org/SiteNavigationElement
Ski Resorthttp://schema.org/SkiResort
Social Eventhttp://schema.org/SocialEvent
Sporting Goods Storehttp://schema.org/SportingGoodsStore
Sports Activity Locationhttp://schema.org/SportsActivityLocation
Sports Clubhttp://schema.org/SportsClub
Sports Eventhttp://schema.org/SportsEvent
Sports Teamhttp://schema.org/SportsTeam
Stadium or Arenahttp://schema.org/StadiumOrArena
Statehttp://schema.org/State
Storehttp://schema.org/Store
Structured Valuehttp://schema.org/StructuredValue
Subway Stationhttp://schema.org/SubwayStation
Synagoguehttp://schema.org/Synagogue
Tablehttp://schema.org/Table
Tattoo Parlorhttp://schema.org/TattooParlor
Taxi Standhttp://schema.org/TaxiStand
Television Stationhttp://schema.org/TelevisionStation
Tennis Complexhttp://schema.org/TennisComplex
Texthttp://schema.org/Text
Theater Eventhttp://schema.org/TheaterEvent
Theater Grouphttp://schema.org/TheaterGroup
Thinghttp://schema.org/Thing
Tire Shophttp://schema.org/TireShop
Tourist Attractionhttp://schema.org/TouristAttraction
Tourist Information Centerhttp://schema.org/TouristInformationCenter
Toy Storehttp://schema.org/ToyStore
Train Stationhttp://schema.org/TrainStation
Travel Agencyhttp://schema.org/TravelAgency
TV Episodehttp://schema.org/TVEpisode
TV Seasonhttp://schema.org/TVSeason
TV Serieshttp://schema.org/TVSeries
URLhttp://schema.org/URL
User Blockshttp://schema.org/UserBlocks
User Checkinshttp://schema.org/UserCheckins
User Commentshttp://schema.org/UserComments
User Downloadshttp://schema.org/UserDownloads
User Interactionhttp://schema.org/UserInteraction
User Likeshttp://schema.org/UserLikes
User Page Visitshttp://schema.org/UserPageVisits
User Playshttp://schema.org/UserPlays
User Plus Oneshttp://schema.org/UserPlusOnes
User Tweetshttp://schema.org/UserTweets
Veterinary Carehttp://schema.org/VeterinaryCare
Video Galleryhttp://schema.org/VideoGallery
Video Objecthttp://schema.org/VideoObject
Visual Arts Eventhttp://schema.org/VisualArtsEvent
Volcanohttp://schema.org/Volcano
Waterfallhttp://schema.org/Waterfall
Web Pagehttp://schema.org/WebPage
Web Page Elementhttp://schema.org/WebPageElement
Wholesale Storehttp://schema.org/WholesaleStore
Wineryhttp://schema.org/Winery
Web Page Ad Blockhttp://schema.org/WPAdBlock
Web Page Footerhttp://schema.org/WPFooter
Web Page Headerhttp://schema.org/WPHeader
Web Page Side Barhttp://schema.org/WPSideBar
Zoohttp://schema.org/Zoo
Compartir: